grub2: bring back build of aros-side grub2 tools
[AROS.git] / workbench / classes / zune / betterstring / include / libraries / mui.h
blob484d72980e0bf6cc5dcb10db5e84ac4461049c19
1 #ifdef __AROS__
2 #include "libraries/muiaros.h"
3 #else
5 /***************************************************************************
6 **
7 ** MUI - MagicUserInterface
8 ** (c) 1993-2006 Stefan Stuntz
9 **
10 ** Main Header File
12 ****************************************************************************
13 ** Class Tree
14 ****************************************************************************
16 ** rootclass (BOOPSI's base class)
17 ** +--Notify (implements notification mechanism)
18 ** ! +--Family (handles multiple children)
19 ** ! ! +--Menustrip (describes a complete menu strip)
20 ** ! ! +--Menu (describes a single menu)
21 ** ! ! \--Menuitem (describes a single menu item)
22 ** ! +--Application (main class for all applications)
23 ** ! +--Window (main class for all windows)
24 ** ! ! \--Aboutmui (About window of MUI preferences)
25 ** ! +--Area (base class for all GUI elements)
26 ** ! +--Rectangle (spacing object)
27 ** ! +--Balance (balancing separator bar)
28 ** ! +--Image (image display)
29 ** ! +--Bitmap (draws bitmaps)
30 ** ! ! \--Bodychunk (makes bitmap from ILBM body chunk)
31 ** ! +--Rawimage (draws raw image data)
32 ** ! +--Text (text display)
33 ** ! +--Gadget (base class for intuition gadgets)
34 ** ! ! +--String (string gadget)
35 ** ! ! +--Boopsi (interface to BOOPSI gadgets)
36 ** ! ! \--Prop (proportional gadget)
37 ** ! +--Gauge (fule gauge)
38 ** ! +--Scale (percentage scale)
39 ** ! +--Colorfield (field with changeable color)
40 ** ! +--List (line-oriented list)
41 ** ! ! +--Floattext (special list with floating text)
42 ** ! ! +--Volumelist (special list with volumes)
43 ** ! ! +--Scrmodelist (special list with screen modes)
44 ** ! ! \--Dirlist (special list with files)
45 ** ! +--Numeric (base class for slider gadgets)
46 ** ! ! +--Knob (turning knob)
47 ** ! ! +--Levelmeter (level display)
48 ** ! ! +--Numericbutton (space saving popup slider)
49 ** ! ! \--Slider (traditional slider)
50 ** ! +--Framedisplay (private)
51 ** ! ! \--Popframe (private)
52 ** ! +--Imagedisplay (private)
53 ** ! ! \--Popimage (private)
54 ** ! +--Pendisplay (displays a pen specification)
55 ** ! ! \--Poppen (popup button to adjust a pen spec)
56 ** ! +--Group (groups other GUI elements)
57 ** ! +--Mccprefs (private)
58 ** ! +--Register (handles page groups with titles)
59 ** ! ! \--Penadjust (group to adjust a pen)
60 ** ! +--Settingsgroup (private)
61 ** ! +--Settings (private)
62 ** ! +--Frameadjust (private)
63 ** ! +--Imageadjust (private)
64 ** ! +--Virtgroup (handles virtual groups)
65 ** ! +--Scrollgroup (virtual groups with scrollbars)
66 ** ! +--Scrollbar (traditional scrollbar)
67 ** ! +--Listview (listview)
68 ** ! +--Radio (radio button)
69 ** ! +--Cycle (cycle gadget)
70 ** ! +--Coloradjust (several gadgets to adjust a color)
71 ** ! +--Palette (complete palette gadget)
72 ** ! +--Popstring (base class for popup objects)
73 ** ! +--Popobject (popup aynthing in a separate window)
74 ** ! ! +--Poplist (popup a simple listview)
75 ** ! ! \--Popscreen (popup a list of public screens)
76 ** ! \--Popasl (popup an asl requester)
77 ** +--Semaphore (semaphore equipped objects)
78 ** +--Applist (private)
79 ** +--Dataspace (handles general purpose data spaces)
80 ** \--Configdata (private)
82 ****************************************************************************
83 ** General Header File Information
84 ****************************************************************************
86 ** All macro and structure definitions follow these rules:
88 ** Name Meaning
90 ** MUIC_<class> Name of a class
91 ** MUIM_<class>_<method> Method
92 ** MUIP_<class>_<method> Methods parameter structure
93 ** MUIV_<class>_<method>_<x> Special method value
94 ** MUIA_<class>_<attrib> Attribute
95 ** MUIV_<class>_<attrib>_<x> Special attribute value
96 ** MUIE_<error> Error return code from MUI_Error()
97 ** MUII_<name> Standard MUI image
98 ** MUIX_<code> Control codes for text strings
99 ** MUIO_<name> Object type for MUI_MakeObject()
101 ** MUIA_... attribute definitions are followed by a comment
102 ** consisting of the three possible letters I, S and G.
103 ** I: it's possible to specify this attribute at object creation time.
104 ** S: it's possible to change this attribute with SetAttrs().
105 ** G: it's possible to get this attribute with GetAttr().
107 ** Items marked with "Custom Class" are for use in custom classes only!
111 #ifndef LIBRARIES_MUI_H
112 #define LIBRARIES_MUI_H
114 #ifndef EXEC_TYPES_H
115 #include <exec/types.h>
116 #endif
118 #ifndef DOS_DOS_H
119 #include <dos/dos.h>
120 #endif
122 #ifndef INTUITION_CLASSES_H
123 #include <intuition/classes.h>
124 #endif
126 #ifndef INTUITION_SCREENS_H
127 #include <intuition/screens.h>
128 #endif
130 #ifndef PROTO_INTUITION_H
131 #include <proto/intuition.h>
132 #endif
134 #if defined(__PPC__)
135 #if defined(__GNUC__)
136 #pragma pack(2)
137 #elif defined(__VBCC__)
138 #pragma amiga-align
139 #endif
140 #endif
145 /***************************************************************************
146 ** Library specification
147 ***************************************************************************/
149 #define MUIMASTER_NAME "muimaster.library"
150 #define MUIMASTER_VMIN 20
151 #define MUIMASTER_VLATEST 20
154 ** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
155 ** Warning, some of the macros in this header file work only with
156 ** up2date versions of muimaster.library. If you recompile your programs,
157 ** be sure to open muimaster.library with MUIMASTER_VMIN as version number.
158 ** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
162 #define MUI_OBSOLETE
165 /*************************************************************************
166 ** Config items for MUIM_GetConfigItem
167 *************************************************************************/
169 #define MUICFG_PublicScreen 36
173 /*************************************************************************
174 ** Black box specification structures for images, pens, frames
175 *************************************************************************/
177 struct MUI_PenSpec
179 char buf[32];
184 /*************************************************************************
185 ** Public Screen Stuff
186 *************************************************************************/
189 ** NOTE: This stuff is only included to allow compilation of the supplied
190 ** public screen manager for educational purposes. Everything
191 ** here is subject to change without notice and I guarantee to
192 ** do that just for fun!
193 ** More info can be found in the screen manager source file.
196 #define PSD_INITIAL_NAME "(unnamed)"
197 #define PSD_INITIAL_TITLE "MUI Public Screen"
198 #define PSD_ID_MPUB MAKE_ID('M','P','U','B')
200 #define PSD_NAME_FRONTMOST "«Frontmost»"
202 #define PSD_FILENAME_SAVE "envarc:mui/PublicScreens.iff"
203 #define PSD_FILENAME_USE "env:mui/PublicScreens.iff"
205 #define PSD_MAXLEN_NAME 32
206 #define PSD_MAXLEN_TITLE 128
207 #define PSD_MAXLEN_FONT 48
208 #define PSD_MAXLEN_BACKGROUND 256
209 #define PSD_NUMCOLS 8
210 #define PSD_MAXSYSPENS 20
211 #define PSD_NUMSYSPENS 12
212 #define PSD_MAXMUIPENS 10
213 #define PSD_NUMMUIPENS MPEN_COUNT
215 struct MUI_RGBcolor
217 ULONG red;
218 ULONG green;
219 ULONG blue;
222 struct MUI_PubScreenDesc
224 LONG Version;
226 char Name[PSD_MAXLEN_NAME];
227 char Title[PSD_MAXLEN_TITLE];
228 char Font[PSD_MAXLEN_FONT];
229 char Background[PSD_MAXLEN_BACKGROUND];
231 ULONG DisplayID;
233 UWORD DisplayWidth;
234 UWORD DisplayHeight;
236 UBYTE DisplayDepth;
237 UBYTE OverscanType;
238 UBYTE AutoScroll;
239 UBYTE NoDrag;
240 UBYTE Exclusive;
241 UBYTE Interleaved;
242 UBYTE SysDefault;
243 UBYTE Behind;
244 UBYTE AutoClose;
245 UBYTE CloseGadget;
246 UBYTE DummyWasForeign;
248 BYTE SystemPens[PSD_MAXSYSPENS];
249 UBYTE psd_Reserved[1+7*4-PSD_MAXSYSPENS];
251 struct MUI_RGBcolor Palette[PSD_NUMCOLS];
252 struct MUI_RGBcolor rsvd[PSD_MAXSYSPENS-PSD_NUMCOLS];
254 struct MUI_PenSpec rsvd2[PSD_MAXMUIPENS];
256 LONG Changed;
257 APTR UserData;
260 struct MUIS_InfoClient
262 struct MinNode node;
263 struct Task *task;
264 ULONG sigbit;
268 /***************************************************************************
269 ** Object Types for MUI_MakeObject()
270 ***************************************************************************/
272 #define MUIO_Label 1 /* STRPTR label, ULONG flags */
273 #define MUIO_Button 2 /* STRPTR label */
274 #define MUIO_Checkmark 3 /* STRPTR label */
275 #define MUIO_Cycle 4 /* STRPTR label, STRPTR *entries */
276 #define MUIO_Radio 5 /* STRPTR label, STRPTR *entries */
277 #define MUIO_Slider 6 /* STRPTR label, LONG min, LONG max */
278 #define MUIO_String 7 /* STRPTR label, LONG maxlen */
279 #define MUIO_PopButton 8 /* STRPTR imagespec */
280 #define MUIO_HSpace 9 /* LONG space */
281 #define MUIO_VSpace 10 /* LONG space */
282 #define MUIO_HBar 11 /* LONG space */
283 #define MUIO_VBar 12 /* LONG space */
284 #define MUIO_MenustripNM 13 /* struct NewMenu *nm, ULONG flags */
285 #define MUIO_Menuitem 14 /* STRPTR label, STRPTR shortcut, ULONG flags, ULONG data */
286 #define MUIO_BarTitle 15 /* STRPTR label */
287 #define MUIO_NumericButton 16 /* STRPTR label, LONG min, LONG max, STRPTR format */
289 #define MUIO_Menuitem_CopyStrings (1<<30)
291 #define MUIO_Label_SingleFrame (1<< 8)
292 #define MUIO_Label_DoubleFrame (1<< 9)
293 #define MUIO_Label_LeftAligned (1<<10)
294 #define MUIO_Label_Centered (1<<11)
295 #define MUIO_Label_FreeVert (1<<12)
296 #define MUIO_Label_Tiny (1<<13)
297 #define MUIO_Label_DontCopy (1<<14)
299 #define MUIO_MenustripNM_CommandKeyCheck (1<<0) /* check for "localized" menu items such as "O\0Open" */
303 /***************************************************************************
304 ** ARexx Interface
305 ***************************************************************************/
307 struct MUI_Command
309 char *mc_Name;
310 char *mc_Template;
311 LONG mc_Parameters;
312 struct Hook *mc_Hook;
313 LONG mc_Reserved[5];
316 #define MC_TEMPLATE_ID ((STRPTR)~0)
318 #define MUI_RXERR_BADDEFINITION -1
319 #define MUI_RXERR_OUTOFMEMORY -2
320 #define MUI_RXERR_UNKNOWNCOMMAND -3
321 #define MUI_RXERR_BADSYNTAX -4
324 /***************************************************************************
325 ** Return values for MUI_Error()
326 ***************************************************************************/
328 #define MUIE_OK 0
329 #define MUIE_OutOfMemory 1
330 #define MUIE_OutOfGfxMemory 2
331 #define MUIE_InvalidWindowObject 3
332 #define MUIE_MissingLibrary 4
333 #define MUIE_NoARexx 5
334 #define MUIE_SingleTask 6
338 /***************************************************************************
339 ** Standard MUI Images & Backgrounds
340 ***************************************************************************/
342 #define MUII_WindowBack 0 /* These images are configured */
343 #define MUII_RequesterBack 1 /* with the preferences program. */
344 #define MUII_ButtonBack 2
345 #define MUII_ListBack 3
346 #define MUII_TextBack 4
347 #define MUII_PropBack 5
348 #define MUII_PopupBack 6
349 #define MUII_SelectedBack 7
350 #define MUII_ListCursor 8
351 #define MUII_ListSelect 9
352 #define MUII_ListSelCur 10
353 #define MUII_ArrowUp 11
354 #define MUII_ArrowDown 12
355 #define MUII_ArrowLeft 13
356 #define MUII_ArrowRight 14
357 #define MUII_CheckMark 15
358 #define MUII_RadioButton 16
359 #define MUII_Cycle 17
360 #define MUII_PopUp 18
361 #define MUII_PopFile 19
362 #define MUII_PopDrawer 20
363 #define MUII_PropKnob 21
364 #define MUII_Drawer 22
365 #define MUII_HardDisk 23
366 #define MUII_Disk 24
367 #define MUII_Chip 25
368 #define MUII_Volume 26
369 #define MUII_RegisterBack 27
370 #define MUII_Network 28
371 #define MUII_Assign 29
372 #define MUII_TapePlay 30
373 #define MUII_TapePlayBack 31
374 #define MUII_TapePause 32
375 #define MUII_TapeStop 33
376 #define MUII_TapeRecord 34
377 #define MUII_GroupBack 35
378 #define MUII_SliderBack 36
379 #define MUII_SliderKnob 37
380 #define MUII_TapeUp 38
381 #define MUII_TapeDown 39
382 #define MUII_PageBack 40
383 #define MUII_ReadListBack 41
384 #define MUII_PopFont 42
385 #define MUII_Count 43
387 #define MUII_BACKGROUND 128 /* These are direct color */
388 #define MUII_SHADOW 129 /* combinations and are not */
389 #define MUII_SHINE 130 /* affected by users prefs. */
390 #define MUII_FILL 131
391 #define MUII_SHADOWBACK 132 /* Generally, you should */
392 #define MUII_SHADOWFILL 133 /* avoid using them. Better */
393 #define MUII_SHADOWSHINE 134 /* use one of the customized */
394 #define MUII_FILLBACK 135 /* images above. */
395 #define MUII_FILLSHINE 136
396 #define MUII_SHINEBACK 137
397 #define MUII_FILLBACK2 138
398 #define MUII_HSHINEBACK 139
399 #define MUII_HSHADOWBACK 140
400 #define MUII_HSHINESHINE 141
401 #define MUII_HSHADOWSHADOW 142
402 #define MUII_MARKSHINE 143
403 #define MUII_MARKHALFSHINE 144
404 #define MUII_MARKBACKGROUND 145
405 #define MUII_BARBLOCK 146
406 #define MUII_BARDETAIL 147
408 /***************************************************************************
409 ** Special values for some methods
410 ***************************************************************************/
412 #define MUIV_TriggerValue 0x49893131
413 #define MUIV_NotTriggerValue 0x49893133
414 #define MUIV_EveryTime 0x49893131
416 #define MUIV_Notify_Self 1
417 #define MUIV_Notify_Window 2
418 #define MUIV_Notify_Application 3
419 #define MUIV_Notify_Parent 4
421 #define MUIV_Application_Save_ENV ((STRPTR) 0)
422 #define MUIV_Application_Save_ENVARC ((STRPTR)~0)
423 #define MUIV_Application_Load_ENV ((STRPTR) 0)
424 #define MUIV_Application_Load_ENVARC ((STRPTR)~0)
426 #define MUIV_Application_ReturnID_Quit -1
428 #define MUIV_List_Insert_Top 0
429 #define MUIV_List_Insert_Active -1
430 #define MUIV_List_Insert_Sorted -2
431 #define MUIV_List_Insert_Bottom -3
433 #define MUIV_List_Remove_First 0
434 #define MUIV_List_Remove_Active -1
435 #define MUIV_List_Remove_Last -2
436 #define MUIV_List_Remove_Selected -3
438 #define MUIV_List_Select_Off 0
439 #define MUIV_List_Select_On 1
440 #define MUIV_List_Select_Toggle 2
441 #define MUIV_List_Select_Ask 3
443 #define MUIV_List_GetEntry_Active -1
444 #define MUIV_List_Select_Active -1
445 #define MUIV_List_Select_All -2
447 #define MUIV_List_Redraw_Active -1
448 #define MUIV_List_Redraw_All -2
450 #define MUIV_List_Move_Top 0
451 #define MUIV_List_Move_Active -1
452 #define MUIV_List_Move_Bottom -2
453 #define MUIV_List_Move_Next -3 /* only valid for second parameter */
454 #define MUIV_List_Move_Previous -4 /* only valid for second parameter */
456 #define MUIV_List_Exchange_Top 0
457 #define MUIV_List_Exchange_Active -1
458 #define MUIV_List_Exchange_Bottom -2
459 #define MUIV_List_Exchange_Next -3 /* only valid for second parameter */
460 #define MUIV_List_Exchange_Previous -4 /* only valid for second parameter */
462 #define MUIV_List_Jump_Top 0
463 #define MUIV_List_Jump_Active -1
464 #define MUIV_List_Jump_Bottom -2
465 #define MUIV_List_Jump_Up -4
466 #define MUIV_List_Jump_Down -3
468 #define MUIV_List_NextSelected_Start -1
469 #define MUIV_List_NextSelected_End -1
471 #define MUIV_DragQuery_Refuse 0
472 #define MUIV_DragQuery_Accept 1
474 #define MUIV_DragReport_Abort 0
475 #define MUIV_DragReport_Continue 1
476 #define MUIV_DragReport_Lock 2
477 #define MUIV_DragReport_Refresh 3
479 #define MUIV_CreateBubble_DontHidePointer (1<<0)
481 #define MUIV_Application_OCW_ScreenPage (1<<1) /* show just the screen page of the config window */
483 #define MUIV_ContextMenuBuild_Default 0xffffffff
485 #define MUIV_PushMethod_Delay(millis) (((ULONG)millis)<<8)
489 /***************************************************************************
490 ** Control codes for text strings
491 ***************************************************************************/
493 #define MUIX_R "\033r" /* right justified */
494 #define MUIX_C "\033c" /* centered */
495 #define MUIX_L "\033l" /* left justified */
497 #define MUIX_N "\033n" /* normal */
498 #define MUIX_B "\033b" /* bold */
499 #define MUIX_I "\033i" /* italic */
500 #define MUIX_U "\033u" /* underlined */
502 #define MUIX_PT "\0332" /* text pen */
503 #define MUIX_PH "\0338" /* highlight text pen */
507 /***************************************************************************
508 ** Parameter structures for some classes
509 ***************************************************************************/
511 struct MUI_Palette_Entry
513 LONG mpe_ID;
514 ULONG mpe_Red;
515 ULONG mpe_Green;
516 ULONG mpe_Blue;
517 LONG mpe_Group;
520 #define MUIV_Palette_Entry_End -1
523 /* Popmenu class item spec and definitions */
525 struct MUIP_Popmenu_Item
527 ULONG pi_Type;
528 CONST_STRPTR pi_Key;
529 CONST_STRPTR pi_Text;
530 ULONG pi_Flags;
531 struct MUIP_Popmenu_Item *pi_SubMenu;
532 APTR pi_UserData;
533 ULONG pi_MXField;
536 /* values for pi_Type */
538 #define PIT_END 0
539 #define PIT_TITLE 1
540 #define PIT_TEXT 2
541 #define PIT_IMAGE 3
542 #define PIT_SEPARATOR 4
543 #define PIT_SUBTITLE 5
544 #define PIT_IGNORE 6
547 /* values for pi_Flags */
549 #define PIB_TOGGLE 0
550 #define PIB_RADIO 1
551 #define PIB_DISABLED 2
552 #define PIB_SELECTED 3
553 #define PIB_RELATIVEMX 4
554 #define PIB_READONLY 5
555 #define PIB_PRESSED 6 /* Kind of private... */
556 #define PIB_CREATESUBMENU 7
557 #define PIB_MULTICOLUMNS 8
559 #define PIF_TOGGLE (1<<PIB_TOGGLE)
560 #define PIF_RADIO (1<<PIB_RADIO)
561 #define PIF_DISABLED (1<<PIB_DISABLED)
562 #define PIF_SELECTED (1<<PIB_SELECTED)
563 #define PIF_RELATIVEMX (1<<PIB_RELATIVEMX)
564 #define PIF_READONLY (1<<PIB_READONLY)
565 #define PIF_PRESSED (1<<PIB_PRESSED)
566 #define PIF_CREATESUBMENU (1<<PIB_CREATESUBMENU)
567 #define PIF_MULTICOLUMNS (1<<PIB_MULTICOLUMNS)
570 /*****************************/
571 /* Application Input Handler */
572 /*****************************/
574 struct MUI_InputHandlerNode
576 struct MinNode ihn_Node;
577 Object *ihn_Object;
579 union
581 ULONG ihn_sigs;
582 struct
584 UWORD ihn_millis;
585 UWORD ihn_current;
586 } ihn_timer;
587 } ihn_stuff;
589 ULONG ihn_Flags; /* see below */
590 ULONG ihn_Method;
593 #define ihn_Signals ihn_stuff.ihn_sigs
594 #define ihn_Millis ihn_stuff.ihn_timer.ihn_millis
595 #define ihn_Current ihn_stuff.ihn_timer.ihn_current
597 /* Flags for ihn_Flags */
598 #define MUIIHNF_TIMER (1<<0) /* set ihn_Millis to number of 1/1000 sec ticks you want to be triggered */
599 #define MUIIHNF_TIMER_SCALE10 (1<<1) /* ihn_Millis is in 1/100 seconds instead */
600 #define MUIIHNF_TIMER_SCALE100 (1<<2) /* ihn_Millis is in 1/10 seconds instead */
601 /* setting both SCALE10|SCALE100 makes ihn_Millis 1/1 seconds */
605 /************************/
606 /* Window Event Handler */
607 /************************/
609 struct MUI_EventHandlerNode
611 struct MinNode ehn_Node;
612 BYTE ehn_Reserved; /* don't touch! */
613 BYTE ehn_Priority; /* event handlers are inserted according to their priority. */
614 UWORD ehn_Flags; /* certain flags, see below for definitions. */
615 Object *ehn_Object; /* object which should receive MUIM_HandleEvent. */
616 struct IClass *ehn_Class; /* if !=NULL, MUIM_HandleEvent is invoked on exactly this class with CoerceMethod(). */
617 ULONG ehn_Events; /* one or more IDCMP flags this handler should react on. */
620 /* flags for ehn_Flags */
622 #define MUI_EHF_ALWAYSKEYS (1<<0) /* not for public use */
624 #define MUI_EHF_GUIMODE (1<<1) /* set this if you dont want your handler to be called */
625 /* when your object is disabled or invisible */
627 #define MUI_EHF_ISACTIVEGRP (1<<12) /* not for public use */
629 #define MUI_EHF_ISACTIVE (1<<13) /* this flag is maintained by MUI and READ-ONLY: */
630 /* set when ehn_Object is a window's active or default object. */
632 #define MUI_EHF_ISCALLING (1<<14) /* not for public use */
634 #define MUI_EHF_ISENABLED (1<<15) /* this flag is maintained by MUI and READ-ONLY: */
635 /* it is set when the handler is added (after MUIM_Window_AddEventHandler) */
636 /* and cleared when the handler is removed (after MUIM_Window_RemEventHandler). */
637 /* you may not change the state of this flag yourself, but you may read it */
638 /* to find out whether your handler is currently added to a window or not. */
641 /* other values reserved for future use */
643 /* return values for MUIM_HandleEvent (bit-masked, all other bits must be 0) */
644 #define MUI_EventHandlerRC_Eat (1<<0) /* stop MUI from calling other handlers */
647 /**********************/
648 /* List Position Test */
649 /**********************/
651 struct MUI_List_TestPos_Result
653 LONG entry; /* number of entry, -1 if mouse not over valid entry */
654 WORD column; /* numer of column, -1 if no valid column */
655 UWORD flags; /* see below */
656 WORD xoffset; /* x offset of mouse click relative to column start */
657 WORD yoffset; /* y offset of mouse click from center of line
658 (negative values mean click was above center,
659 positive values mean click was below center) */
662 #define MUI_LPR_ABOVE (1<<0)
663 #define MUI_LPR_BELOW (1<<1)
664 #define MUI_LPR_LEFT (1<<2)
665 #define MUI_LPR_RIGHT (1<<3)
668 /***************************************************************************
670 ** Macro Section
671 ** -------------
673 ** To make GUI creation more easy and understandable, you can use the
674 ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
675 ** them.
677 ** These macros are available to C programmers only.
679 ***************************************************************************/
681 #ifndef MUI_NOSHORTCUTS
685 /***************************************************************************
687 ** Object Generation
688 ** -----------------
690 ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
691 ** Every xxxObject can be followed by tagitems specifying initial create
692 ** time attributes for the new object and must be terminated with the
693 ** End macro:
695 ** obj = StringObject,
696 ** MUIA_String_Contents, "foo",
697 ** MUIA_String_MaxLen , 40,
698 ** End;
700 ** With the Child, SubWindow and WindowContents shortcuts you can
701 ** construct a complete GUI within one command:
703 ** app = ApplicationObject,
705 ** ...
707 ** SubWindow, WindowObject,
708 ** WindowContents, VGroup,
709 ** Child, String("foo",40),
710 ** Child, String("bar",50),
711 ** Child, HGroup,
712 ** Child, CheckMark(TRUE),
713 ** Child, CheckMark(FALSE),
714 ** End,
715 ** End,
716 ** End,
718 ** SubWindow, WindowObject,
719 ** WindowContents, HGroup,
720 ** Child, ...,
721 ** Child, ...,
722 ** End,
723 ** End,
725 ** ...
727 ** End;
729 ***************************************************************************/
731 #define MenustripObject MUI_NewObject(MUIC_Menustrip
732 #define MenuObject MUI_NewObject(MUIC_Menu
733 #define MenuObjectT(name) MUI_NewObject(MUIC_Menu,MUIA_Menu_Title,name
734 #define PopmenuObject MUI_NewObject(MUIC_Popmenu
735 #define MenuitemObject MUI_NewObject(MUIC_Menuitem
736 #define WindowObject MUI_NewObject(MUIC_Window
737 #define ImageObject MUI_NewObject(MUIC_Image
738 #define BitmapObject MUI_NewObject(MUIC_Bitmap
739 #define BodychunkObject MUI_NewObject(MUIC_Bodychunk
740 #if !defined(__MORPHOS__)
741 #define RawimageObject MUI_NewObject(MUIC_Rawimage
742 #endif
743 #define NotifyObject MUI_NewObject(MUIC_Notify
744 #define ApplicationObject MUI_NewObject(MUIC_Application
745 #define TextObject MUI_NewObject(MUIC_Text
746 #define RectangleObject MUI_NewObject(MUIC_Rectangle
747 #define BalanceObject MUI_NewObject(MUIC_Balance
748 #define ListObject MUI_NewObject(MUIC_List
749 #define PropObject MUI_NewObject(MUIC_Prop
750 #define StringObject MUI_NewObject(MUIC_String
751 #define ScrollbarObject MUI_NewObject(MUIC_Scrollbar
752 #define ListviewObject MUI_NewObject(MUIC_Listview
753 #define RadioObject MUI_NewObject(MUIC_Radio
754 #define VolumelistObject MUI_NewObject(MUIC_Volumelist
755 #define FloattextObject MUI_NewObject(MUIC_Floattext
756 #define DirlistObject MUI_NewObject(MUIC_Dirlist
757 #define CycleObject MUI_NewObject(MUIC_Cycle
758 #define GaugeObject MUI_NewObject(MUIC_Gauge
759 #define ScaleObject MUI_NewObject(MUIC_Scale
760 #define NumericObject MUI_NewObject(MUIC_Numeric
761 #define SliderObject MUI_NewObject(MUIC_Slider
762 #define NumericbuttonObject MUI_NewObject(MUIC_Numericbutton
763 #define KnobObject MUI_NewObject(MUIC_Knob
764 #define LevelmeterObject MUI_NewObject(MUIC_Levelmeter
765 #define BoopsiObject MUI_NewObject(MUIC_Boopsi
766 #define ColorfieldObject MUI_NewObject(MUIC_Colorfield
767 #define PenadjustObject MUI_NewObject(MUIC_Penadjust
768 #define ColoradjustObject MUI_NewObject(MUIC_Coloradjust
769 #define PaletteObject MUI_NewObject(MUIC_Palette
770 #define GroupObject MUI_NewObject(MUIC_Group
771 #define RegisterObject MUI_NewObject(MUIC_Register
772 #define VirtgroupObject MUI_NewObject(MUIC_Virtgroup
773 #define ScrollgroupObject MUI_NewObject(MUIC_Scrollgroup
774 #define PopstringObject MUI_NewObject(MUIC_Popstring
775 #define PopobjectObject MUI_NewObject(MUIC_Popobject
776 #define PoplistObject MUI_NewObject(MUIC_Poplist
777 #define PopaslObject MUI_NewObject(MUIC_Popasl
778 #define PendisplayObject MUI_NewObject(MUIC_Pendisplay
779 #define PoppenObject MUI_NewObject(MUIC_Poppen
780 #define AboutmuiObject MUI_NewObject(MUIC_Aboutmui
781 #define ScrmodelistObject MUI_NewObject(MUIC_Scrmodelist
782 #define KeyentryObject MUI_NewObject(MUIC_Keyentry
783 #define VGroup MUI_NewObject(MUIC_Group
784 #define HGroup MUI_NewObject(MUIC_Group,MUIA_Group_Horiz,TRUE
785 #define ColGroup(cols) MUI_NewObject(MUIC_Group,MUIA_Group_Columns,(cols)
786 #define RowGroup(rows) MUI_NewObject(MUIC_Group,MUIA_Group_Rows ,(rows)
787 #define PageGroup MUI_NewObject(MUIC_Group,MUIA_Group_PageMode,TRUE
788 #define VGroupV MUI_NewObject(MUIC_Virtgroup
789 #define HGroupV MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Horiz,TRUE
790 #define ColGroupV(cols) MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Columns,(cols)
791 #define RowGroupV(rows) MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Rows ,(rows)
792 #define PageGroupV MUI_NewObject(MUIC_Virtgroup,MUIA_Group_PageMode,TRUE
793 #define RegisterGroup(t) MUI_NewObject(MUIC_Register,MUIA_Register_Titles,(t)
794 #define End TAG_DONE)
796 #define Child MUIA_Group_Child
797 #define SubWindow MUIA_Application_Window
798 #define WindowContents MUIA_Window_RootObject
802 /***************************************************************************
804 ** Frame Types
805 ** -----------
807 ** These macros may be used to specify one of MUI's different frame types.
808 ** Note that every macro consists of one { ti_Tag, ti_Data } pair.
810 ** GroupFrameT() is a special kind of frame that contains a centered
811 ** title text.
813 ** HGroup, GroupFrameT("Horiz Groups"),
814 ** Child, RectangleObject, TextFrame , End,
815 ** Child, RectangleObject, StringFrame, End,
816 ** Child, RectangleObject, ButtonFrame, End,
817 ** Child, RectangleObject, ListFrame , End,
818 ** End,
820 ***************************************************************************/
822 #define NoFrame MUIA_Frame, MUIV_Frame_None
823 #define ButtonFrame MUIA_Frame, MUIV_Frame_Button
824 #define ImageButtonFrame MUIA_Frame, MUIV_Frame_ImageButton
825 #define TextFrame MUIA_Frame, MUIV_Frame_Text
826 #define StringFrame MUIA_Frame, MUIV_Frame_String
827 #define ReadListFrame MUIA_Frame, MUIV_Frame_ReadList
828 #define InputListFrame MUIA_Frame, MUIV_Frame_InputList
829 #define PropFrame MUIA_Frame, MUIV_Frame_Prop
830 #define SliderFrame MUIA_Frame, MUIV_Frame_Slider
831 #define GaugeFrame MUIA_Frame, MUIV_Frame_Gauge
832 #define VirtualFrame MUIA_Frame, MUIV_Frame_Virtual
833 #define GroupFrame MUIA_Frame, MUIV_Frame_Group
834 #define GroupFrameT(s) MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, s, MUIA_Background, MUII_GroupBack
838 /***************************************************************************
840 ** Spacing Macros
841 ** --------------
843 ***************************************************************************/
845 #define HVSpace MUI_NewObject(MUIC_Rectangle,TAG_DONE)
846 #define HSpace(x) MUI_MakeObject(MUIO_HSpace,(x))
847 #define VSpace(x) MUI_MakeObject(MUIO_VSpace,(x))
848 #define HCenter(obj) (HGroup, GroupSpacing(0), Child, HSpace(0), Child, (obj), Child, HSpace(0), End)
849 #define VCenter(obj) (VGroup, GroupSpacing(0), Child, VSpace(0), Child, (obj), Child, VSpace(0), End)
850 #define InnerSpacing(h,v) MUIA_InnerLeft,(h),MUIA_InnerRight,(h),MUIA_InnerTop,(v),MUIA_InnerBottom,(v)
851 #define GroupSpacing(x) MUIA_Group_Spacing,(x)
855 #ifdef MUI_OBSOLETE
857 /***************************************************************************
859 ** String-Object
860 ** -------------
862 ** The following macro creates a simple string gadget.
864 ***************************************************************************/
866 #define String(contents,maxlen)\
867 StringObject,\
868 StringFrame,\
869 MUIA_String_MaxLen , maxlen,\
870 MUIA_String_Contents, contents,\
873 #define KeyString(contents,maxlen,controlchar)\
874 StringObject,\
875 StringFrame,\
876 MUIA_ControlChar , controlchar,\
877 MUIA_String_MaxLen , maxlen,\
878 MUIA_String_Contents, contents,\
881 #endif
885 #ifdef MUI_OBSOLETE
887 /***************************************************************************
889 ** CheckMark-Object
890 ** ----------------
892 ** The following macro creates a checkmark gadget.
894 ***************************************************************************/
896 #define CheckMark(selected)\
897 ImageObject,\
898 ImageButtonFrame,\
899 MUIA_InputMode , MUIV_InputMode_Toggle,\
900 MUIA_Image_Spec , MUII_CheckMark,\
901 MUIA_Image_FreeVert , TRUE,\
902 MUIA_Selected , selected,\
903 MUIA_Background , MUII_ButtonBack,\
904 MUIA_ShowSelState , FALSE,\
907 #define KeyCheckMark(selected,control)\
908 ImageObject,\
909 ImageButtonFrame,\
910 MUIA_InputMode , MUIV_InputMode_Toggle,\
911 MUIA_Image_Spec , MUII_CheckMark,\
912 MUIA_Image_FreeVert , TRUE,\
913 MUIA_Selected , selected,\
914 MUIA_Background , MUII_ButtonBack,\
915 MUIA_ShowSelState , FALSE,\
916 MUIA_ControlChar , control,\
919 #endif
922 /***************************************************************************
924 ** Button-Objects
925 ** --------------
927 ** Note: Use small letters for KeyButtons, e.g.
928 ** KeyButton("Cancel",'c') and not KeyButton("Cancel",'C') !!
930 ***************************************************************************/
932 #define SimpleButton(label) MUI_MakeObject(MUIO_Button,(unsigned long)label)
934 #ifdef MUI_OBSOLETE
936 #define KeyButton(name,key)\
937 TextObject,\
938 ButtonFrame,\
939 MUIA_Font, MUIV_Font_Button,\
940 MUIA_Text_Contents, name,\
941 MUIA_Text_PreParse, "\33c",\
942 MUIA_Text_HiChar , key,\
943 MUIA_ControlChar , key,\
944 MUIA_InputMode , MUIV_InputMode_RelVerify,\
945 MUIA_Background , MUII_ButtonBack,\
948 #endif
951 #ifdef MUI_OBSOLETE
953 /***************************************************************************
955 ** Cycle-Object
956 ** ------------
958 ***************************************************************************/
960 #define Cycle(entries) CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, entries, End
961 #define KeyCycle(entries,key) CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, entries, MUIA_ControlChar, key, End
965 /***************************************************************************
967 ** Radio-Object
968 ** ------------
970 ***************************************************************************/
972 #define Radio(name,array)\
973 RadioObject,\
974 GroupFrameT(name),\
975 MUIA_Radio_Entries,array,\
978 #define KeyRadio(name,array,key)\
979 RadioObject,\
980 GroupFrameT(name),\
981 MUIA_Radio_Entries,array,\
982 MUIA_ControlChar, key,\
987 /***************************************************************************
989 ** Slider-Object
990 ** -------------
992 ***************************************************************************/
995 #define Slider(min,max,level)\
996 SliderObject,\
997 MUIA_Numeric_Min , min,\
998 MUIA_Numeric_Max , max,\
999 MUIA_Numeric_Value, level,\
1002 #define KeySlider(min,max,level,key)\
1003 SliderObject,\
1004 MUIA_Numeric_Min , min,\
1005 MUIA_Numeric_Max , max,\
1006 MUIA_Numeric_Value, level,\
1007 MUIA_ControlChar , key,\
1010 #endif
1014 /***************************************************************************
1016 ** Button to be used for popup objects
1018 ***************************************************************************/
1020 #define PopButton(img) MUI_MakeObject(MUIO_PopButton,(unsigned long)img)
1024 /***************************************************************************
1026 ** Labeling Objects
1027 ** ----------------
1029 ** Labeling objects, e.g. a group of string gadgets,
1031 ** Small: |foo |
1032 ** Normal: |bar |
1033 ** Big: |foobar|
1034 ** Huge: |barfoo|
1036 ** is done using a 2 column group:
1038 ** ColGroup(2),
1039 ** Child, Label2("Small:" ),
1040 ** Child, StringObject, End,
1041 ** Child, Label2("Normal:"),
1042 ** Child, StringObject, End,
1043 ** Child, Label2("Big:" ),
1044 ** Child, StringObject, End,
1045 ** Child, Label2("Huge:" ),
1046 ** Child, StringObject, End,
1047 ** End,
1049 ** Note that we have three versions of the label macro, depending on
1050 ** the frame type of the right hand object:
1052 ** Label1(): For use with standard frames (e.g. checkmarks).
1053 ** Label2(): For use with double high frames (e.g. string gadgets).
1054 ** Label() : For use with objects without a frame.
1056 ** These macros ensure that your label will look fine even if the
1057 ** user of your application configured some strange spacing values.
1058 ** If you want to use your own labeling, you'll have to pay attention
1059 ** on this topic yourself.
1061 ***************************************************************************/
1063 #define Label(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,0)
1064 #define Label1(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_SingleFrame)
1065 #define Label2(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_DoubleFrame)
1066 #define LLabel(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_LeftAligned)
1067 #define LLabel1(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_LeftAligned|MUIO_Label_SingleFrame)
1068 #define LLabel2(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame)
1069 #define CLabel(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_Centered)
1070 #define CLabel1(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_Centered|MUIO_Label_SingleFrame)
1071 #define CLabel2(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_Centered|MUIO_Label_DoubleFrame)
1073 #define FreeLabel(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert)
1074 #define FreeLabel1(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_SingleFrame)
1075 #define FreeLabel2(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame)
1076 #define FreeLLabel(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned)
1077 #define FreeLLabel1(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_SingleFrame)
1078 #define FreeLLabel2(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame)
1079 #define FreeCLabel(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_Centered)
1080 #define FreeCLabel1(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_SingleFrame)
1081 #define FreeCLabel2(label) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_DoubleFrame)
1083 #define KeyLabel(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,key)
1084 #define KeyLabel1(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_SingleFrame|(key))
1085 #define KeyLabel2(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_DoubleFrame|(key))
1086 #define KeyLLabel(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_LeftAligned|(key))
1087 #define KeyLLabel1(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_LeftAligned|MUIO_Label_SingleFrame|(key))
1088 #define KeyLLabel2(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame|(key))
1089 #define KeyCLabel(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_Centered|(key))
1090 #define KeyCLabel1(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_Centered|MUIO_Label_SingleFrame|(key))
1091 #define KeyCLabel2(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_Centered|MUIO_Label_DoubleFrame|(key))
1093 #define FreeKeyLabel(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|(key))
1094 #define FreeKeyLabel1(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_SingleFrame|(key))
1095 #define FreeKeyLabel2(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame|(key))
1096 #define FreeKeyLLabel(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|(key))
1097 #define FreeKeyLLabel1(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_SingleFrame|(key))
1098 #define FreeKeyLLabel2(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame|(key))
1099 #define FreeKeyCLabel(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_Centered|(key))
1100 #define FreeKeyCLabel1(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_SingleFrame|(key))
1101 #define FreeKeyCLabel2(label,key) MUI_MakeObject(MUIO_Label,(unsigned long)label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_DoubleFrame|(key))
1105 /***************************************************************************
1107 ** Controlling Objects
1108 ** -------------------
1110 ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
1111 ** calls:
1113 ** {
1114 ** char *x;
1116 ** set(obj,MUIA_String_Contents,"foobar");
1117 ** get(obj,MUIA_String_Contents,&x);
1119 ** printf("gadget contains '%s'\n",x);
1120 ** }
1122 ** nnset() sets an attribute without triggering a possible notification.
1124 ***************************************************************************/
1126 #ifndef __cplusplus
1128 #define get(obj, attr, store) GetAttr((attr), (obj), (ULONG *)(void *)(store))
1129 #define set(obj, attr, value) SetAttrs((obj), (attr), value, TAG_DONE)
1130 #define nnset(obj, attr, value) SetAttrs((obj), MUIA_NoNotify, TRUE, (attr), (value), TAG_DONE)
1132 #define setmutex(obj, n) set(obj, MUIA_Radio_Active, (n))
1133 #define setcycle(obj, n) set(obj, MUIA_Cycle_Active, (n))
1134 #define setstring(obj, s) set(obj, MUIA_String_Contents, (s))
1135 #define setcheckmark(obj, b) set(obj, MUIA_Selected, (b))
1136 #define setslider(obj, l) set(obj, MUIA_Numeric_Value, (l))
1138 #endif
1141 #endif /* MUI_NOSHORTCUTS */
1144 /***************************************************************************
1146 ** For Boopsi Image Implementors Only:
1148 ** If MUI is using a boopsi image object, it will send a special method
1149 ** immediately after object creation. This method has a parameter structure
1150 ** where the boopsi can fill in its minimum and maximum size and learn if
1151 ** its used in a horizontal or vertical context.
1153 ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
1154 ** value. That's how MUI sees that the method is implemented.
1156 ** Note: MUI does not depend on this method. If the boopsi image doesn't
1157 ** implement it, minimum size will be 0 and maximum size unlimited.
1159 ***************************************************************************/
1161 #define MUIM_BoopsiQuery 0x80427157 /* this is send to the boopsi and */
1162 /* must be used as return value */
1164 struct MUI_BoopsiQuery /* parameter structure */
1166 ULONG mbq_MethodID; /* always MUIM_BoopsiQuery */
1168 struct Screen *mbq_Screen; /* obsolete, use mbq_RenderInfo */
1169 ULONG mbq_Flags; /* read only, see below */
1171 LONG mbq_MinWidth ; /* write only, fill in min width */
1172 LONG mbq_MinHeight; /* write only, fill in min height */
1173 LONG mbq_MaxWidth ; /* write only, fill in max width */
1174 LONG mbq_MaxHeight; /* write only, fill in max height */
1175 LONG mbq_DefWidth ; /* write only, fill in def width */
1176 LONG mbq_DefHeight; /* write only, fill in def height */
1178 struct MUI_RenderInfo *mbq_RenderInfo; /* read only, display context */
1180 /* may grow in future ... */
1183 #define MUIP_BoopsiQuery MUI_BoopsiQuery /* old structure name */
1185 #define MBQF_HORIZ (1<<0) /* object used in a horizontal */
1186 /* context (else vertical) */
1188 #define MBQ_MUI_MAXMAX (10000) /* use this for unlimited MaxWidth/Height */
1190 #define IDCMP_MOUSEOBJECT 0x40000000 /* special idcmp message created by MUI */
1193 /*******************************************/
1194 /* Begin of automatic header file creation */
1195 /*******************************************/
1200 /****************************************************************************/
1201 /** Notify **/
1202 /****************************************************************************/
1204 #ifdef _DCC
1205 extern char MUIC_Notify[];
1206 #else
1207 #define MUIC_Notify "Notify.mui"
1208 #endif
1210 /* Methods */
1212 #define MUIM_CallHook 0x8042b96b /* V4 */
1213 #define MUIM_Export 0x80420f1c /* V12 */
1214 #define MUIM_FindUData 0x8042c196 /* V8 */
1215 #define MUIM_GetConfigItem 0x80423edb /* V11 */
1216 #define MUIM_GetUData 0x8042ed0c /* V8 */
1217 #define MUIM_Import 0x8042d012 /* V12 */
1218 #define MUIM_KillNotify 0x8042d240 /* V4 */
1219 #define MUIM_KillNotifyObj 0x8042b145 /* V16 */
1220 #define MUIM_MultiSet 0x8042d356 /* V7 */
1221 #define MUIM_NoNotifySet 0x8042216f /* V9 */
1222 #define MUIM_Notify 0x8042c9cb /* V4 */
1223 #define MUIM_Set 0x8042549a /* V4 */
1224 #define MUIM_SetAsString 0x80422590 /* V4 */
1225 #define MUIM_SetUData 0x8042c920 /* V8 */
1226 #define MUIM_SetUDataOnce 0x8042ca19 /* V11 */
1227 #define MUIM_WriteLong 0x80428d86 /* V6 */
1228 #define MUIM_WriteString 0x80424bf4 /* V6 */
1229 struct MUIP_CallHook { ULONG MethodID; struct Hook *Hook; ULONG param1; /* ... */ };
1230 struct MUIP_Export { ULONG MethodID; Object *dataspace; };
1231 struct MUIP_FindUData { ULONG MethodID; ULONG udata; };
1232 struct MUIP_GetConfigItem { ULONG MethodID; ULONG id; ULONG *storage; };
1233 struct MUIP_GetUData { ULONG MethodID; ULONG udata; ULONG attr; ULONG *storage; };
1234 struct MUIP_Import { ULONG MethodID; Object *dataspace; };
1235 struct MUIP_KillNotify { ULONG MethodID; ULONG TrigAttr; };
1236 struct MUIP_KillNotifyObj { ULONG MethodID; ULONG TrigAttr; Object *dest; };
1237 struct MUIP_MultiSet { ULONG MethodID; ULONG attr; ULONG val; APTR obj; /* ... */ };
1238 struct MUIP_NoNotifySet { ULONG MethodID; ULONG attr; char *format; ULONG val; /* ... */ };
1239 struct MUIP_Notify { ULONG MethodID; ULONG TrigAttr; ULONG TrigVal; APTR DestObj; ULONG FollowParams; /* ... */ };
1240 struct MUIP_Set { ULONG MethodID; ULONG attr; ULONG val; };
1241 struct MUIP_SetAsString { ULONG MethodID; ULONG attr; char *format; ULONG val; /* ... */ };
1242 struct MUIP_SetUData { ULONG MethodID; ULONG udata; ULONG attr; ULONG val; };
1243 struct MUIP_SetUDataOnce { ULONG MethodID; ULONG udata; ULONG attr; ULONG val; };
1244 struct MUIP_WriteLong { ULONG MethodID; ULONG val; ULONG *memory; };
1245 struct MUIP_WriteString { ULONG MethodID; char *str; char *memory; };
1247 /* Attributes */
1249 #define MUIA_ApplicationObject 0x8042d3ee /* V4 ..g Object * */
1250 #define MUIA_AppMessage 0x80421955 /* V5 ..g struct AppMessage * */
1251 #define MUIA_HelpLine 0x8042a825 /* V4 isg LONG */
1252 #define MUIA_HelpNode 0x80420b85 /* V4 isg STRPTR */
1253 #define MUIA_NoNotify 0x804237f9 /* V7 .s. BOOL */
1254 #define MUIA_ObjectID 0x8042d76e /* V11 isg ULONG */
1255 #define MUIA_Parent 0x8042e35f /* V11 ..g Object * */
1256 #define MUIA_Revision 0x80427eaa /* V4 ..g LONG */
1257 #define MUIA_UserData 0x80420313 /* V4 isg ULONG */
1258 #define MUIA_Version 0x80422301 /* V4 ..g LONG */
1262 /****************************************************************************/
1263 /** Family **/
1264 /****************************************************************************/
1266 #ifdef _DCC
1267 extern char MUIC_Family[];
1268 #else
1269 #define MUIC_Family "Family.mui"
1270 #endif
1272 /* Methods */
1274 #define MUIM_Family_AddHead 0x8042e200 /* V8 */
1275 #define MUIM_Family_AddTail 0x8042d752 /* V8 */
1276 #define MUIM_Family_Insert 0x80424d34 /* V8 */
1277 #define MUIM_Family_Remove 0x8042f8a9 /* V8 */
1278 #define MUIM_Family_Sort 0x80421c49 /* V8 */
1279 #define MUIM_Family_Transfer 0x8042c14a /* V8 */
1280 struct MUIP_Family_AddHead { ULONG MethodID; Object *obj; };
1281 struct MUIP_Family_AddTail { ULONG MethodID; Object *obj; };
1282 struct MUIP_Family_Insert { ULONG MethodID; Object *obj; Object *pred; };
1283 struct MUIP_Family_Remove { ULONG MethodID; Object *obj; };
1284 struct MUIP_Family_Sort { ULONG MethodID; Object *obj[1]; };
1285 struct MUIP_Family_Transfer { ULONG MethodID; Object *family; };
1287 /* Attributes */
1289 #define MUIA_Family_Child 0x8042c696 /* V8 i.. Object * */
1290 #define MUIA_Family_List 0x80424b9e /* V8 ..g struct MinList * */
1294 /****************************************************************************/
1295 /** Menustrip **/
1296 /****************************************************************************/
1298 #ifdef _DCC
1299 extern char MUIC_Menustrip[];
1300 #else
1301 #define MUIC_Menustrip "Menustrip.mui"
1302 #endif
1304 /* Methods */
1306 #define MUIM_Menustrip_ExitChange 0x8042ce4d /* V20 */
1307 #define MUIM_Menustrip_InitChange 0x8042dcd9 /* V20 */
1308 struct MUIP_Menustrip_ExitChange { ULONG MethodID; };
1309 struct MUIP_Menustrip_InitChange { ULONG MethodID; };
1311 /* Attributes */
1313 #define MUIA_Menustrip_Enabled 0x8042815b /* V8 isg BOOL */
1317 /****************************************************************************/
1318 /** Menu **/
1319 /****************************************************************************/
1321 #ifdef _DCC
1322 extern char MUIC_Menu[];
1323 #else
1324 #define MUIC_Menu "Menu.mui"
1325 #endif
1327 /* Attributes */
1329 #define MUIA_Menu_Enabled 0x8042ed48 /* V8 isg BOOL */
1330 #define MUIA_Menu_Title 0x8042a0e3 /* V8 isg STRPTR */
1334 /****************************************************************************/
1335 /** Menuitem **/
1336 /****************************************************************************/
1338 #ifdef _DCC
1339 extern char MUIC_Menuitem[];
1340 #else
1341 #define MUIC_Menuitem "Menuitem.mui"
1342 #endif
1344 /* Methods */
1347 /* Attributes */
1349 #define MUIA_Menuitem_Checked 0x8042562a /* V8 isg BOOL */
1350 #define MUIA_Menuitem_Checkit 0x80425ace /* V8 isg BOOL */
1351 #define MUIA_Menuitem_CommandString 0x8042b9cc /* V16 isg BOOL */
1352 #define MUIA_Menuitem_Enabled 0x8042ae0f /* V8 isg BOOL */
1353 #define MUIA_Menuitem_Exclude 0x80420bc6 /* V8 isg LONG */
1354 #define MUIA_Menuitem_Shortcut 0x80422030 /* V8 isg STRPTR */
1355 #define MUIA_Menuitem_Title 0x804218be /* V8 isg STRPTR */
1356 #define MUIA_Menuitem_Toggle 0x80424d5c /* V8 isg BOOL */
1357 #define MUIA_Menuitem_Trigger 0x80426f32 /* V8 ..g struct MenuItem * */
1359 #define MUIV_Menuitem_Shortcut_Check -1
1362 /****************************************************************************/
1363 /** Application **/
1364 /****************************************************************************/
1366 #ifdef _DCC
1367 extern char MUIC_Application[];
1368 #else
1369 #define MUIC_Application "Application.mui"
1370 #endif
1372 /* Methods */
1374 #define MUIM_Application_AboutMUI 0x8042d21d /* V14 */
1375 #define MUIM_Application_AddInputHandler 0x8042f099 /* V11 */
1376 #define MUIM_Application_CheckRefresh 0x80424d68 /* V11 */
1377 #ifdef MUI_OBSOLETE
1378 #define MUIM_Application_GetMenuCheck 0x8042c0a7 /* V4 */
1379 #endif /* MUI_OBSOLETE */
1380 #ifdef MUI_OBSOLETE
1381 #define MUIM_Application_GetMenuState 0x8042a58f /* V4 */
1382 #endif /* MUI_OBSOLETE */
1383 #ifdef MUI_OBSOLETE
1384 #define MUIM_Application_Input 0x8042d0f5 /* V4 */
1385 #endif /* MUI_OBSOLETE */
1386 #define MUIM_Application_InputBuffered 0x80427e59 /* V4 */
1387 #define MUIM_Application_Load 0x8042f90d /* V4 */
1388 #define MUIM_Application_NewInput 0x80423ba6 /* V11 */
1389 #define MUIM_Application_OpenConfigWindow 0x804299ba /* V11 */
1390 #define MUIM_Application_PushMethod 0x80429ef8 /* V4 */
1391 #define MUIM_Application_RemInputHandler 0x8042e7af /* V11 */
1392 #define MUIM_Application_ReturnID 0x804276ef /* V4 */
1393 #define MUIM_Application_Save 0x804227ef /* V4 */
1394 #define MUIM_Application_SetConfigItem 0x80424a80 /* V11 */
1395 #ifdef MUI_OBSOLETE
1396 #define MUIM_Application_SetMenuCheck 0x8042a707 /* V4 */
1397 #endif /* MUI_OBSOLETE */
1398 #ifdef MUI_OBSOLETE
1399 #define MUIM_Application_SetMenuState 0x80428bef /* V4 */
1400 #endif /* MUI_OBSOLETE */
1401 #define MUIM_Application_ShowHelp 0x80426479 /* V4 */
1402 struct MUIP_Application_AboutMUI { ULONG MethodID; Object *refwindow; };
1403 struct MUIP_Application_AddInputHandler { ULONG MethodID; struct MUI_InputHandlerNode *ihnode; };
1404 struct MUIP_Application_CheckRefresh { ULONG MethodID; };
1405 struct MUIP_Application_GetMenuCheck { ULONG MethodID; ULONG MenuID; };
1406 struct MUIP_Application_GetMenuState { ULONG MethodID; ULONG MenuID; };
1407 struct MUIP_Application_Input { ULONG MethodID; ULONG *signal; };
1408 struct MUIP_Application_InputBuffered { ULONG MethodID; };
1409 struct MUIP_Application_Load { ULONG MethodID; STRPTR name; };
1410 struct MUIP_Application_NewInput { ULONG MethodID; ULONG *signal; };
1411 struct MUIP_Application_OpenConfigWindow { ULONG MethodID; ULONG flags; STRPTR classid; };
1412 struct MUIP_Application_PushMethod { ULONG MethodID; Object *dest; LONG count; /* ... */ };
1413 struct MUIP_Application_RemInputHandler { ULONG MethodID; struct MUI_InputHandlerNode *ihnode; };
1414 struct MUIP_Application_ReturnID { ULONG MethodID; ULONG retid; };
1415 struct MUIP_Application_Save { ULONG MethodID; STRPTR name; };
1416 struct MUIP_Application_SetConfigItem { ULONG MethodID; ULONG item; APTR data; };
1417 struct MUIP_Application_SetMenuCheck { ULONG MethodID; ULONG MenuID; LONG stat; };
1418 struct MUIP_Application_SetMenuState { ULONG MethodID; ULONG MenuID; LONG stat; };
1419 struct MUIP_Application_ShowHelp { ULONG MethodID; Object *window; char *name; char *node; LONG line; };
1421 /* Attributes */
1423 #define MUIA_Application_Active 0x804260ab /* V4 isg BOOL */
1424 #define MUIA_Application_Author 0x80424842 /* V4 i.g STRPTR */
1425 #define MUIA_Application_Base 0x8042e07a /* V4 i.g STRPTR */
1426 #define MUIA_Application_Broker 0x8042dbce /* V4 ..g Broker * */
1427 #define MUIA_Application_BrokerHook 0x80428f4b /* V4 isg struct Hook * */
1428 #define MUIA_Application_BrokerPort 0x8042e0ad /* V6 ..g struct MsgPort * */
1429 #define MUIA_Application_BrokerPri 0x8042c8d0 /* V6 i.g LONG */
1430 #define MUIA_Application_Commands 0x80428648 /* V4 isg struct MUI_Command * */
1431 #define MUIA_Application_Copyright 0x8042ef4d /* V4 i.g STRPTR */
1432 #define MUIA_Application_Description 0x80421fc6 /* V4 i.g STRPTR */
1433 #define MUIA_Application_DiskObject 0x804235cb /* V4 isg struct DiskObject * */
1434 #define MUIA_Application_DoubleStart 0x80423bc6 /* V4 ..g BOOL */
1435 #define MUIA_Application_DropObject 0x80421266 /* V5 is. Object * */
1436 #define MUIA_Application_ForceQuit 0x804257df /* V8 ..g BOOL */
1437 #define MUIA_Application_HelpFile 0x804293f4 /* V8 isg STRPTR */
1438 #define MUIA_Application_Iconified 0x8042a07f /* V4 .sg BOOL */
1439 #ifdef MUI_OBSOLETE
1440 #define MUIA_Application_Menu 0x80420e1f /* V4 i.g struct NewMenu * */
1441 #endif /* MUI_OBSOLETE */
1442 #define MUIA_Application_MenuAction 0x80428961 /* V4 ..g ULONG */
1443 #define MUIA_Application_MenuHelp 0x8042540b /* V4 ..g ULONG */
1444 #define MUIA_Application_Menustrip 0x804252d9 /* V8 i.. Object * */
1445 #define MUIA_Application_RexxHook 0x80427c42 /* V7 isg struct Hook * */
1446 #define MUIA_Application_RexxMsg 0x8042fd88 /* V4 ..g struct RxMsg * */
1447 #define MUIA_Application_RexxString 0x8042d711 /* V4 .s. STRPTR */
1448 #define MUIA_Application_SingleTask 0x8042a2c8 /* V4 i.. BOOL */
1449 #define MUIA_Application_Sleep 0x80425711 /* V4 .s. BOOL */
1450 #define MUIA_Application_Title 0x804281b8 /* V4 i.g STRPTR */
1451 #define MUIA_Application_UseCommodities 0x80425ee5 /* V10 i.. BOOL */
1452 #define MUIA_Application_UsedClasses 0x8042e9a7 /* V20 isg STRPTR * */
1453 #define MUIA_Application_UseRexx 0x80422387 /* V10 i.. BOOL */
1454 #define MUIA_Application_Version 0x8042b33f /* V4 i.g STRPTR */
1455 #define MUIA_Application_Window 0x8042bfe0 /* V4 i.. Object * */
1456 #define MUIA_Application_WindowList 0x80429abe /* V13 ..g struct List * */
1458 #define MUIV_Application_Package_NetConnect 0xa3ff7b49
1461 /****************************************************************************/
1462 /** Window **/
1463 /****************************************************************************/
1465 #ifdef _DCC
1466 extern char MUIC_Window[];
1467 #else
1468 #define MUIC_Window "Window.mui"
1469 #endif
1471 /* Methods */
1473 #define MUIM_Window_AddEventHandler 0x804203b7 /* V16 */
1474 #define MUIM_Window_Cleanup 0x8042ab26 /* V18 */
1475 #ifdef MUI_OBSOLETE
1476 #define MUIM_Window_GetMenuCheck 0x80420414 /* V4 */
1477 #endif /* MUI_OBSOLETE */
1478 #ifdef MUI_OBSOLETE
1479 #define MUIM_Window_GetMenuState 0x80420d2f /* V4 */
1480 #endif /* MUI_OBSOLETE */
1481 #define MUIM_Window_RemEventHandler 0x8042679e /* V16 */
1482 #define MUIM_Window_ScreenToBack 0x8042913d /* V4 */
1483 #define MUIM_Window_ScreenToFront 0x804227a4 /* V4 */
1484 #ifdef MUI_OBSOLETE
1485 #define MUIM_Window_SetCycleChain 0x80426510 /* V4 */
1486 #endif /* MUI_OBSOLETE */
1487 #ifdef MUI_OBSOLETE
1488 #define MUIM_Window_SetMenuCheck 0x80422243 /* V4 */
1489 #endif /* MUI_OBSOLETE */
1490 #ifdef MUI_OBSOLETE
1491 #define MUIM_Window_SetMenuState 0x80422b5e /* V4 */
1492 #endif /* MUI_OBSOLETE */
1493 #define MUIM_Window_Setup 0x8042c34c /* V18 */
1494 #define MUIM_Window_Snapshot 0x8042945e /* V11 */
1495 #define MUIM_Window_ToBack 0x8042152e /* V4 */
1496 #define MUIM_Window_ToFront 0x8042554f /* V4 */
1497 struct MUIP_Window_AddEventHandler { ULONG MethodID; struct MUI_EventHandlerNode *ehnode; };
1498 struct MUIP_Window_Cleanup { ULONG MethodID; };
1499 struct MUIP_Window_GetMenuCheck { ULONG MethodID; ULONG MenuID; };
1500 struct MUIP_Window_GetMenuState { ULONG MethodID; ULONG MenuID; };
1501 struct MUIP_Window_RemEventHandler { ULONG MethodID; struct MUI_EventHandlerNode *ehnode; };
1502 struct MUIP_Window_ScreenToBack { ULONG MethodID; };
1503 struct MUIP_Window_ScreenToFront { ULONG MethodID; };
1504 struct MUIP_Window_SetCycleChain { ULONG MethodID; Object *obj[1]; };
1505 struct MUIP_Window_SetMenuCheck { ULONG MethodID; ULONG MenuID; LONG stat; };
1506 struct MUIP_Window_SetMenuState { ULONG MethodID; ULONG MenuID; LONG stat; };
1507 struct MUIP_Window_Setup { ULONG MethodID; };
1508 struct MUIP_Window_Snapshot { ULONG MethodID; LONG flags; };
1509 struct MUIP_Window_ToBack { ULONG MethodID; };
1510 struct MUIP_Window_ToFront { ULONG MethodID; };
1512 /* Attributes */
1514 #define MUIA_Window_Activate 0x80428d2f /* V4 isg BOOL */
1515 #define MUIA_Window_ActiveObject 0x80427925 /* V4 .sg Object * */
1516 #define MUIA_Window_AltHeight 0x8042cce3 /* V4 i.g LONG */
1517 #define MUIA_Window_AltLeftEdge 0x80422d65 /* V4 i.g LONG */
1518 #define MUIA_Window_AltTopEdge 0x8042e99b /* V4 i.g LONG */
1519 #define MUIA_Window_AltWidth 0x804260f4 /* V4 i.g LONG */
1520 #define MUIA_Window_AppWindow 0x804280cf /* V5 i.. BOOL */
1521 #define MUIA_Window_Backdrop 0x8042c0bb /* V4 i.. BOOL */
1522 #define MUIA_Window_BackfillHook 0x80428863 /* V20 i.. struct Hook * */
1523 #define MUIA_Window_Borderless 0x80429b79 /* V4 i.. BOOL */
1524 #define MUIA_Window_CloseGadget 0x8042a110 /* V4 i.. BOOL */
1525 #define MUIA_Window_CloseRequest 0x8042e86e /* V4 ..g BOOL */
1526 #define MUIA_Window_DefaultObject 0x804294d7 /* V4 isg Object * */
1527 #define MUIA_Window_DepthGadget 0x80421923 /* V4 i.. BOOL */
1528 #define MUIA_Window_DisableKeys 0x80424c36 /* V15 isg ULONG */
1529 #define MUIA_Window_DragBar 0x8042045d /* V4 i.. BOOL */
1530 #define MUIA_Window_FancyDrawing 0x8042bd0e /* V8 isg BOOL */
1531 #define MUIA_Window_Height 0x80425846 /* V4 i.g LONG */
1532 #define MUIA_Window_ID 0x804201bd /* V4 isg ULONG */
1533 #define MUIA_Window_InputEvent 0x804247d8 /* V4 ..g struct InputEvent * */
1534 #define MUIA_Window_IsSubWindow 0x8042b5aa /* V4 isg BOOL */
1535 #define MUIA_Window_LeftEdge 0x80426c65 /* V4 i.g LONG */
1536 #ifdef MUI_OBSOLETE
1537 #define MUIA_Window_Menu 0x8042db94 /* V4 i.. struct NewMenu * */
1538 #endif /* MUI_OBSOLETE */
1539 #define MUIA_Window_MenuAction 0x80427521 /* V8 isg ULONG */
1540 #define MUIA_Window_Menustrip 0x8042855e /* V8 i.g Object * */
1541 #define MUIA_Window_MouseObject 0x8042bf9b /* V10 ..g Object * */
1542 #define MUIA_Window_NeedsMouseObject 0x8042372a /* V10 i.. BOOL */
1543 #define MUIA_Window_NoMenus 0x80429df5 /* V4 is. BOOL */
1544 #define MUIA_Window_Open 0x80428aa0 /* V4 .sg BOOL */
1545 #define MUIA_Window_PublicScreen 0x804278e4 /* V6 isg STRPTR */
1546 #define MUIA_Window_RefWindow 0x804201f4 /* V4 is. Object * */
1547 #define MUIA_Window_RootObject 0x8042cba5 /* V4 isg Object * */
1548 #define MUIA_Window_Screen 0x8042df4f /* V4 isg struct Screen * */
1549 #define MUIA_Window_ScreenTitle 0x804234b0 /* V5 isg STRPTR */
1550 #define MUIA_Window_SizeGadget 0x8042e33d /* V4 i.. BOOL */
1551 #define MUIA_Window_SizeRight 0x80424780 /* V4 i.. BOOL */
1552 #define MUIA_Window_Sleep 0x8042e7db /* V4 .sg BOOL */
1553 #define MUIA_Window_Title 0x8042ad3d /* V4 isg STRPTR */
1554 #define MUIA_Window_TopEdge 0x80427c66 /* V4 i.g LONG */
1555 #define MUIA_Window_UseBottomBorderScroller 0x80424e79 /* V13 isg BOOL */
1556 #define MUIA_Window_UseLeftBorderScroller 0x8042433e /* V13 isg BOOL */
1557 #define MUIA_Window_UseRightBorderScroller 0x8042c05e /* V13 isg BOOL */
1558 #define MUIA_Window_Width 0x8042dcae /* V4 i.g LONG */
1559 #define MUIA_Window_Window 0x80426a42 /* V4 ..g struct Window * */
1561 #define MUIV_Window_ActiveObject_None 0
1562 #define MUIV_Window_ActiveObject_Next -1
1563 #define MUIV_Window_ActiveObject_Prev -2
1564 #define MUIV_Window_ActiveObject_Left -3
1565 #define MUIV_Window_ActiveObject_Right -4
1566 #define MUIV_Window_ActiveObject_Up -5
1567 #define MUIV_Window_ActiveObject_Down -6
1568 #define MUIV_Window_AltHeight_MinMax(p) (0-(p))
1569 #define MUIV_Window_AltHeight_Visible(p) (-100-(p))
1570 #define MUIV_Window_AltHeight_Screen(p) (-200-(p))
1571 #define MUIV_Window_AltHeight_Scaled -1000
1572 #define MUIV_Window_AltLeftEdge_Centered -1
1573 #define MUIV_Window_AltLeftEdge_Moused -2
1574 #define MUIV_Window_AltLeftEdge_NoChange -1000
1575 #define MUIV_Window_AltTopEdge_Centered -1
1576 #define MUIV_Window_AltTopEdge_Moused -2
1577 #define MUIV_Window_AltTopEdge_Delta(p) (-3-(p))
1578 #define MUIV_Window_AltTopEdge_NoChange -1000
1579 #define MUIV_Window_AltWidth_MinMax(p) (0-(p))
1580 #define MUIV_Window_AltWidth_Visible(p) (-100-(p))
1581 #define MUIV_Window_AltWidth_Screen(p) (-200-(p))
1582 #define MUIV_Window_AltWidth_Scaled -1000
1583 #define MUIV_Window_Height_MinMax(p) (0-(p))
1584 #define MUIV_Window_Height_Visible(p) (-100-(p))
1585 #define MUIV_Window_Height_Screen(p) (-200-(p))
1586 #define MUIV_Window_Height_Scaled -1000
1587 #define MUIV_Window_Height_Default -1001
1588 #define MUIV_Window_LeftEdge_Centered -1
1589 #define MUIV_Window_LeftEdge_Moused -2
1590 #define MUIV_Window_LeftEdge_Right(n) (-1000-(n))
1591 #ifdef MUI_OBSOLETE
1592 #define MUIV_Window_Menu_NoMenu -1
1593 #endif /* MUI_OBSOLETE */
1594 #define MUIV_Window_Timeout_Off 0
1595 #define MUIV_Window_Timeout_Restart -1
1596 #define MUIV_Window_TopEdge_Centered -1
1597 #define MUIV_Window_TopEdge_Moused -2
1598 #define MUIV_Window_TopEdge_Delta(p) (-3-(p))
1599 #define MUIV_Window_TopEdge_Bottom(n) (-1000-(n))
1600 #define MUIV_Window_TopMenuPos_Off 0
1601 #define MUIV_Window_TopMenuPos_Top 1
1602 #define MUIV_Window_TopMenuPos_Bottom 2
1603 #define MUIV_Window_TopMenuPos_Left 3
1604 #define MUIV_Window_TopMenuPos_Right 4
1605 #define MUIV_Window_Width_MinMax(p) (0-(p))
1606 #define MUIV_Window_Width_Visible(p) (-100-(p))
1607 #define MUIV_Window_Width_Screen(p) (-200-(p))
1608 #define MUIV_Window_Width_Scaled -1000
1609 #define MUIV_Window_Width_Default -1001
1612 /****************************************************************************/
1613 /** Aboutmui **/
1614 /****************************************************************************/
1616 #ifdef _DCC
1617 extern char MUIC_Aboutmui[];
1618 #else
1619 #define MUIC_Aboutmui "Aboutmui.mui"
1620 #endif
1622 /* Methods */
1625 /* Attributes */
1627 #define MUIA_Aboutmui_Application 0x80422523 /* V11 i.. Object * */
1631 /****************************************************************************/
1632 /** Area **/
1633 /****************************************************************************/
1635 #ifdef _DCC
1636 extern char MUIC_Area[];
1637 #else
1638 #define MUIC_Area "Area.mui"
1639 #endif
1641 /* Methods */
1643 #define MUIM_AskMinMax 0x80423874 /* Custom Class */ /* V4 */
1644 #define MUIM_CheckShortHelp 0x80423c79 /* V20 */
1645 #define MUIM_Cleanup 0x8042d985 /* Custom Class */ /* V4 */
1646 #define MUIM_ContextMenuBuild 0x80429d2e /* V11 */
1647 #define MUIM_ContextMenuChoice 0x80420f0e /* V11 */
1648 #define MUIM_CreateBubble 0x80421c41 /* V18 */
1649 #define MUIM_CreateShortHelp 0x80428e93 /* V11 */
1650 #define MUIM_DeleteBubble 0x804211af /* V18 */
1651 #define MUIM_DeleteShortHelp 0x8042d35a /* V11 */
1652 #define MUIM_DoDrag 0x804216bb /* V20 */
1653 #define MUIM_DragBegin 0x8042c03a /* V11 */
1654 #define MUIM_DragDrop 0x8042c555 /* V11 */
1655 #define MUIM_DragFinish 0x804251f0 /* V11 */
1656 #define MUIM_DragQuery 0x80420261 /* V11 */
1657 #define MUIM_DragReport 0x8042edad /* V11 */
1658 #define MUIM_Draw 0x80426f3f /* Custom Class */ /* V4 */
1659 #define MUIM_DrawBackground 0x804238ca /* V11 */
1660 #define MUIM_HandleEvent 0x80426d66 /* Custom Class */ /* V16 */
1661 #define MUIM_HandleInput 0x80422a1a /* Custom Class */ /* V4 */
1662 #define MUIM_Hide 0x8042f20f /* Custom Class */ /* V4 */
1663 #define MUIM_Setup 0x80428354 /* Custom Class */ /* V4 */
1664 #define MUIM_Show 0x8042cc84 /* Custom Class */ /* V4 */
1665 struct MUIP_AskMinMax { ULONG MethodID; struct MUI_MinMax *MinMaxInfo; }; /* Custom Class */
1666 struct MUIP_CheckShortHelp { ULONG MethodID; STRPTR help; LONG mx; LONG my; };
1667 struct MUIP_Cleanup { ULONG MethodID; }; /* Custom Class */
1668 struct MUIP_ContextMenuBuild { ULONG MethodID; LONG mx; LONG my; };
1669 struct MUIP_ContextMenuChoice { ULONG MethodID; Object *item; };
1670 struct MUIP_CreateBubble { ULONG MethodID; LONG x; LONG y; char *txt; ULONG flags; };
1671 struct MUIP_CreateShortHelp { ULONG MethodID; LONG mx; LONG my; };
1672 struct MUIP_DeleteBubble { ULONG MethodID; APTR bubble; };
1673 struct MUIP_DeleteShortHelp { ULONG MethodID; STRPTR help; };
1674 struct MUIP_DoDrag { ULONG MethodID; LONG touchx; LONG touchy; ULONG flags; };
1675 struct MUIP_DragBegin { ULONG MethodID; Object *obj; };
1676 struct MUIP_DragDrop { ULONG MethodID; Object *obj; LONG x; LONG y; };
1677 struct MUIP_DragFinish { ULONG MethodID; Object *obj; };
1678 struct MUIP_DragQuery { ULONG MethodID; Object *obj; };
1679 struct MUIP_DragReport { ULONG MethodID; Object *obj; LONG x; LONG y; LONG update; };
1680 struct MUIP_Draw { ULONG MethodID; ULONG flags; }; /* Custom Class */
1681 struct MUIP_DrawBackground { ULONG MethodID; LONG left; LONG top; LONG width; LONG height; LONG xoffset; LONG yoffset; LONG flags; };
1682 struct MUIP_HandleEvent { ULONG MethodID; struct IntuiMessage *imsg; LONG muikey; }; /* Custom Class */
1683 struct MUIP_HandleInput { ULONG MethodID; struct IntuiMessage *imsg; LONG muikey; }; /* Custom Class */
1684 struct MUIP_Hide { ULONG MethodID; }; /* Custom Class */
1685 struct MUIP_Setup { ULONG MethodID; struct MUI_RenderInfo *RenderInfo; }; /* Custom Class */
1686 struct MUIP_Show { ULONG MethodID; struct LongRect *clip; }; /* Custom Class */
1688 /* Attributes */
1690 #define MUIA_Background 0x8042545b /* V4 is. LONG */
1691 #define MUIA_BottomEdge 0x8042e552 /* V4 ..g LONG */
1692 #define MUIA_ContextMenu 0x8042b704 /* V11 isg Object * */
1693 #define MUIA_ContextMenuTrigger 0x8042a2c1 /* V11 ..g Object * */
1694 #define MUIA_ControlChar 0x8042120b /* V4 isg char */
1695 #define MUIA_CycleChain 0x80421ce7 /* V11 isg LONG */
1696 #define MUIA_Disabled 0x80423661 /* V4 isg BOOL */
1697 #define MUIA_Draggable 0x80420b6e /* V11 isg BOOL */
1698 #define MUIA_Dropable 0x8042fbce /* V11 isg BOOL */
1699 #ifdef MUI_OBSOLETE
1700 #define MUIA_ExportID 0x8042d76e /* V4 isg ULONG */
1701 #endif /* MUI_OBSOLETE */
1702 #define MUIA_FillArea 0x804294a3 /* V4 is. BOOL */
1703 #define MUIA_FixHeight 0x8042a92b /* V4 i.. LONG */
1704 #define MUIA_FixHeightTxt 0x804276f2 /* V4 i.. STRPTR */
1705 #define MUIA_FixWidth 0x8042a3f1 /* V4 i.. LONG */
1706 #define MUIA_FixWidthTxt 0x8042d044 /* V4 i.. STRPTR */
1707 #define MUIA_Font 0x8042be50 /* V4 i.g struct TextFont * */
1708 #define MUIA_Frame 0x8042ac64 /* V4 i.. LONG */
1709 #define MUIA_FrameDynamic 0x804223c9 /* V20 isg BOOL */
1710 #define MUIA_FramePhantomHoriz 0x8042ed76 /* V4 i.. BOOL */
1711 #define MUIA_FrameTitle 0x8042d1c7 /* V4 i.. STRPTR */
1712 #define MUIA_FrameVisible 0x80426498 /* V20 isg BOOL */
1713 #define MUIA_Height 0x80423237 /* V4 ..g LONG */
1714 #define MUIA_HorizDisappear 0x80429615 /* V11 isg LONG */
1715 #define MUIA_HorizWeight 0x80426db9 /* V4 isg WORD */
1716 #define MUIA_InnerBottom 0x8042f2c0 /* V4 i.g LONG */
1717 #define MUIA_InnerLeft 0x804228f8 /* V4 i.g LONG */
1718 #define MUIA_InnerRight 0x804297ff /* V4 i.g LONG */
1719 #define MUIA_InnerTop 0x80421eb6 /* V4 i.g LONG */
1720 #define MUIA_InputMode 0x8042fb04 /* V4 i.. LONG */
1721 #define MUIA_LeftEdge 0x8042bec6 /* V4 ..g LONG */
1722 #define MUIA_MaxHeight 0x804293e4 /* V11 i.. LONG */
1723 #define MUIA_MaxWidth 0x8042f112 /* V11 i.. LONG */
1724 #define MUIA_Pressed 0x80423535 /* V4 ..g BOOL */
1725 #define MUIA_RightEdge 0x8042ba82 /* V4 ..g LONG */
1726 #define MUIA_Selected 0x8042654b /* V4 isg BOOL */
1727 #define MUIA_ShortHelp 0x80428fe3 /* V11 isg STRPTR */
1728 #define MUIA_ShowMe 0x80429ba8 /* V4 isg BOOL */
1729 #define MUIA_ShowSelState 0x8042caac /* V4 i.. BOOL */
1730 #define MUIA_Timer 0x80426435 /* V4 ..g LONG */
1731 #define MUIA_TopEdge 0x8042509b /* V4 ..g LONG */
1732 #define MUIA_VertDisappear 0x8042d12f /* V11 isg LONG */
1733 #define MUIA_VertWeight 0x804298d0 /* V4 isg WORD */
1734 #define MUIA_Weight 0x80421d1f /* V4 i.. WORD */
1735 #define MUIA_Width 0x8042b59c /* V4 ..g LONG */
1736 #define MUIA_Window 0x80421591 /* V4 ..g struct Window * */
1737 #define MUIA_WindowObject 0x8042669e /* V4 ..g Object * */
1739 #define MUIV_Font_Inherit 0
1740 #define MUIV_Font_Normal -1
1741 #define MUIV_Font_List -2
1742 #define MUIV_Font_Tiny -3
1743 #define MUIV_Font_Fixed -4
1744 #define MUIV_Font_Title -5
1745 #define MUIV_Font_Big -6
1746 #define MUIV_Font_Button -7
1747 #define MUIV_Font_Slider -8
1748 #define MUIV_Font_Gauge -9
1749 #define MUIV_Font_Menudisplay -10
1750 #define MUIV_Frame_None 0
1751 #define MUIV_Frame_Button 1
1752 #define MUIV_Frame_ImageButton 2
1753 #define MUIV_Frame_Text 3
1754 #define MUIV_Frame_String 4
1755 #define MUIV_Frame_ReadList 5
1756 #define MUIV_Frame_InputList 6
1757 #define MUIV_Frame_Prop 7
1758 #define MUIV_Frame_Gauge 8
1759 #define MUIV_Frame_Group 9
1760 #define MUIV_Frame_PopUp 10
1761 #define MUIV_Frame_Virtual 11
1762 #define MUIV_Frame_Slider 12
1763 #define MUIV_Frame_SliderKnob 13
1764 #define MUIV_Frame_GaugeInner 14
1765 #define MUIV_Frame_Menudisplay 15
1766 #define MUIV_Frame_MenudisplayMenu 16
1767 #define MUIV_Frame_Count 17
1768 #define MUIV_InputMode_None 0
1769 #define MUIV_InputMode_RelVerify 1
1770 #define MUIV_InputMode_Immediate 2
1771 #define MUIV_InputMode_Toggle 3
1774 /****************************************************************************/
1775 /** Dtpic **/
1776 /****************************************************************************/
1778 #ifdef _DCC
1779 extern char MUIC_Dtpic[];
1780 #else
1781 #define MUIC_Dtpic "Dtpic.mui"
1782 #endif
1784 /* Attributes */
1789 /****************************************************************************/
1790 /** Rectangle **/
1791 /****************************************************************************/
1793 #ifdef _DCC
1794 extern char MUIC_Rectangle[];
1795 #else
1796 #define MUIC_Rectangle "Rectangle.mui"
1797 #endif
1799 /* Attributes */
1801 #define MUIA_Rectangle_BarTitle 0x80426689 /* V11 i.g STRPTR */
1802 #define MUIA_Rectangle_HBar 0x8042c943 /* V7 i.g BOOL */
1803 #define MUIA_Rectangle_VBar 0x80422204 /* V7 i.g BOOL */
1807 /****************************************************************************/
1808 /** Balance **/
1809 /****************************************************************************/
1811 #ifdef _DCC
1812 extern char MUIC_Balance[];
1813 #else
1814 #define MUIC_Balance "Balance.mui"
1815 #endif
1817 /* Attributes */
1819 #define MUIA_Balance_Quiet 0x80427486 /* V20 i.. LONG */
1823 /****************************************************************************/
1824 /** Image **/
1825 /****************************************************************************/
1827 #ifdef _DCC
1828 extern char MUIC_Image[];
1829 #else
1830 #define MUIC_Image "Image.mui"
1831 #endif
1833 /* Attributes */
1835 #define MUIA_Image_FontMatch 0x8042815d /* V4 i.. BOOL */
1836 #define MUIA_Image_FontMatchHeight 0x80429f26 /* V4 i.. BOOL */
1837 #define MUIA_Image_FontMatchWidth 0x804239bf /* V4 i.. BOOL */
1838 #define MUIA_Image_FreeHoriz 0x8042da84 /* V4 i.. BOOL */
1839 #define MUIA_Image_FreeVert 0x8042ea28 /* V4 i.. BOOL */
1840 #define MUIA_Image_OldImage 0x80424f3d /* V4 i.. struct Image * */
1841 #define MUIA_Image_Spec 0x804233d5 /* V4 i.. char * */
1842 #define MUIA_Image_State 0x8042a3ad /* V4 is. LONG */
1846 /****************************************************************************/
1847 /** Menubar **/
1848 /****************************************************************************/
1850 #ifdef _DCC
1851 extern char MUIC_Menubar[];
1852 #else
1853 #define MUIC_Menubar "Menubar.mui"
1854 #endif
1856 /* Methods */
1859 /* Attributes */
1864 /****************************************************************************/
1865 /** Bitmap **/
1866 /****************************************************************************/
1868 #ifdef _DCC
1869 extern char MUIC_Bitmap[];
1870 #else
1871 #define MUIC_Bitmap "Bitmap.mui"
1872 #endif
1874 /* Attributes */
1876 #define MUIA_Bitmap_Alpha 0x80423e71 /* V20 isg ULONG */
1877 #define MUIA_Bitmap_Bitmap 0x804279bd /* V8 isg struct BitMap * */
1878 #define MUIA_Bitmap_Height 0x80421560 /* V8 isg LONG */
1879 #define MUIA_Bitmap_MappingTable 0x8042e23d /* V8 isg UBYTE * */
1880 #define MUIA_Bitmap_Precision 0x80420c74 /* V11 isg LONG */
1881 #define MUIA_Bitmap_RemappedBitmap 0x80423a47 /* V11 ..g struct BitMap * */
1882 #define MUIA_Bitmap_SourceColors 0x80425360 /* V8 isg ULONG * */
1883 #define MUIA_Bitmap_Transparent 0x80422805 /* V8 isg LONG */
1884 #define MUIA_Bitmap_UseFriend 0x804239d8 /* V11 i.. BOOL */
1885 #define MUIA_Bitmap_Width 0x8042eb3a /* V8 isg LONG */
1889 /****************************************************************************/
1890 /** Bodychunk **/
1891 /****************************************************************************/
1893 #ifdef _DCC
1894 extern char MUIC_Bodychunk[];
1895 #else
1896 #define MUIC_Bodychunk "Bodychunk.mui"
1897 #endif
1899 /* Attributes */
1901 #define MUIA_Bodychunk_Body 0x8042ca67 /* V8 isg UBYTE * */
1902 #define MUIA_Bodychunk_Compression 0x8042de5f /* V8 isg UBYTE */
1903 #define MUIA_Bodychunk_Depth 0x8042c392 /* V8 isg LONG */
1904 #define MUIA_Bodychunk_Masking 0x80423b0e /* V8 isg UBYTE */
1908 /****************************************************************************/
1909 /** Text **/
1910 /****************************************************************************/
1912 #ifdef _DCC
1913 extern char MUIC_Text[];
1914 #else
1915 #define MUIC_Text "Text.mui"
1916 #endif
1918 /* Attributes */
1920 #define MUIA_Text_Contents 0x8042f8dc /* V4 isg STRPTR */
1921 #define MUIA_Text_ControlChar 0x8042e6d0 /* V20 isg char */
1922 #define MUIA_Text_Copy 0x80427727 /* V20 i.. BOOL */
1923 #define MUIA_Text_HiChar 0x804218ff /* V4 i.. char */
1924 #define MUIA_Text_PreParse 0x8042566d /* V4 isg STRPTR */
1925 #define MUIA_Text_SetMax 0x80424d0a /* V4 i.. BOOL */
1926 #define MUIA_Text_SetMin 0x80424e10 /* V4 i.. BOOL */
1927 #define MUIA_Text_SetVMax 0x80420d8b /* V11 i.. BOOL */
1931 /****************************************************************************/
1932 /** Gadget **/
1933 /****************************************************************************/
1935 #ifdef _DCC
1936 extern char MUIC_Gadget[];
1937 #else
1938 #define MUIC_Gadget "Gadget.mui"
1939 #endif
1941 /* Attributes */
1943 #define MUIA_Gadget_Gadget 0x8042ec1a /* V11 ..g struct Gadget * */
1947 /****************************************************************************/
1948 /** String **/
1949 /****************************************************************************/
1951 #ifdef _DCC
1952 extern char MUIC_String[];
1953 #else
1954 #define MUIC_String "String.mui"
1955 #endif
1957 /* Methods */
1960 /* Attributes */
1962 #define MUIA_String_Accept 0x8042e3e1 /* V4 isg STRPTR */
1963 #define MUIA_String_Acknowledge 0x8042026c /* V4 ..g STRPTR */
1964 #define MUIA_String_AdvanceOnCR 0x804226de /* V11 isg BOOL */
1965 #define MUIA_String_AttachedList 0x80420fd2 /* V4 isg Object * */
1966 #define MUIA_String_BufferPos 0x80428b6c /* V4 .sg LONG */
1967 #define MUIA_String_Contents 0x80428ffd /* V4 isg STRPTR */
1968 #define MUIA_String_DisplayPos 0x8042ccbf /* V4 .sg LONG */
1969 #define MUIA_String_EditHook 0x80424c33 /* V7 isg struct Hook * */
1970 #define MUIA_String_Format 0x80427484 /* V4 i.g LONG */
1971 #define MUIA_String_Integer 0x80426e8a /* V4 isg ULONG */
1972 #define MUIA_String_LonelyEditHook 0x80421569 /* V11 isg BOOL */
1973 #define MUIA_String_MaxLen 0x80424984 /* V4 i.g LONG */
1974 #define MUIA_String_Reject 0x8042179c /* V4 isg STRPTR */
1975 #define MUIA_String_Secret 0x80428769 /* V4 i.g BOOL */
1977 #define MUIV_String_Format_Left 0
1978 #define MUIV_String_Format_Center 1
1979 #define MUIV_String_Format_Right 2
1982 /****************************************************************************/
1983 /** Boopsi **/
1984 /****************************************************************************/
1986 #ifdef _DCC
1987 extern char MUIC_Boopsi[];
1988 #else
1989 #define MUIC_Boopsi "Boopsi.mui"
1990 #endif
1992 /* Attributes */
1994 #define MUIA_Boopsi_Class 0x80426999 /* V4 isg struct IClass * */
1995 #define MUIA_Boopsi_ClassID 0x8042bfa3 /* V4 isg char * */
1996 #define MUIA_Boopsi_MaxHeight 0x8042757f /* V4 isg ULONG */
1997 #define MUIA_Boopsi_MaxWidth 0x8042bcb1 /* V4 isg ULONG */
1998 #define MUIA_Boopsi_MinHeight 0x80422c93 /* V4 isg ULONG */
1999 #define MUIA_Boopsi_MinWidth 0x80428fb2 /* V4 isg ULONG */
2000 #define MUIA_Boopsi_Object 0x80420178 /* V4 ..g Object * */
2001 #define MUIA_Boopsi_Remember 0x8042f4bd /* V4 i.. ULONG */
2002 #define MUIA_Boopsi_Smart 0x8042b8d7 /* V9 i.. BOOL */
2003 #define MUIA_Boopsi_TagDrawInfo 0x8042bae7 /* V4 isg ULONG */
2004 #define MUIA_Boopsi_TagScreen 0x8042bc71 /* V4 isg ULONG */
2005 #define MUIA_Boopsi_TagWindow 0x8042e11d /* V4 isg ULONG */
2009 /****************************************************************************/
2010 /** Prop **/
2011 /****************************************************************************/
2013 #ifdef _DCC
2014 extern char MUIC_Prop[];
2015 #else
2016 #define MUIC_Prop "Prop.mui"
2017 #endif
2019 /* Methods */
2021 #define MUIM_Prop_Decrease 0x80420dd1 /* V16 */
2022 #define MUIM_Prop_Increase 0x8042cac0 /* V16 */
2023 struct MUIP_Prop_Decrease { ULONG MethodID; LONG amount; };
2024 struct MUIP_Prop_Increase { ULONG MethodID; LONG amount; };
2026 /* Attributes */
2028 #define MUIA_Prop_Entries 0x8042fbdb /* V4 isg LONG */
2029 #define MUIA_Prop_First 0x8042d4b2 /* V4 isg LONG */
2030 #define MUIA_Prop_Horiz 0x8042f4f3 /* V4 i.g BOOL */
2031 #define MUIA_Prop_Slider 0x80429c3a /* V4 isg BOOL */
2032 #define MUIA_Prop_UseWinBorder 0x8042deee /* V13 i.. LONG */
2033 #define MUIA_Prop_Visible 0x8042fea6 /* V4 isg LONG */
2035 #define MUIV_Prop_UseWinBorder_None 0
2036 #define MUIV_Prop_UseWinBorder_Left 1
2037 #define MUIV_Prop_UseWinBorder_Right 2
2038 #define MUIV_Prop_UseWinBorder_Bottom 3
2041 /****************************************************************************/
2042 /** Gauge **/
2043 /****************************************************************************/
2045 #ifdef _DCC
2046 extern char MUIC_Gauge[];
2047 #else
2048 #define MUIC_Gauge "Gauge.mui"
2049 #endif
2051 /* Attributes */
2053 #define MUIA_Gauge_Current 0x8042f0dd /* V4 isg LONG */
2054 #define MUIA_Gauge_Divide 0x8042d8df /* V4 isg ULONG */
2055 #define MUIA_Gauge_EmptyImage 0x8042357f /* V20 isg STRPTR */
2056 #define MUIA_Gauge_FullFrame 0x8042881b /* V20 isg STRPTR */
2057 #define MUIA_Gauge_FullImage 0x8042e14a /* V20 isg STRPTR */
2058 #define MUIA_Gauge_Horiz 0x804232dd /* V4 i.. BOOL */
2059 #define MUIA_Gauge_InfoRate 0x804253c8 /* V4 isg LONG */
2060 #define MUIA_Gauge_InfoText 0x8042bf15 /* V7 isg STRPTR */
2061 #define MUIA_Gauge_Max 0x8042bcdb /* V4 isg LONG */
2065 /****************************************************************************/
2066 /** Scale **/
2067 /****************************************************************************/
2069 #ifdef _DCC
2070 extern char MUIC_Scale[];
2071 #else
2072 #define MUIC_Scale "Scale.mui"
2073 #endif
2075 /* Attributes */
2077 #define MUIA_Scale_Horiz 0x8042919a /* V4 isg BOOL */
2081 /****************************************************************************/
2082 /** Colorfield **/
2083 /****************************************************************************/
2085 #ifdef _DCC
2086 extern char MUIC_Colorfield[];
2087 #else
2088 #define MUIC_Colorfield "Colorfield.mui"
2089 #endif
2091 /* Attributes */
2093 #define MUIA_Colorfield_Blue 0x8042d3b0 /* V4 isg ULONG */
2094 #define MUIA_Colorfield_Green 0x80424466 /* V4 isg ULONG */
2095 #define MUIA_Colorfield_Pen 0x8042713a /* V4 ..g ULONG */
2096 #define MUIA_Colorfield_Red 0x804279f6 /* V4 isg ULONG */
2097 #define MUIA_Colorfield_RGB 0x8042677a /* V4 isg ULONG * */
2101 /****************************************************************************/
2102 /** List **/
2103 /****************************************************************************/
2105 #ifdef _DCC
2106 extern char MUIC_List[];
2107 #else
2108 #define MUIC_List "List.mui"
2109 #endif
2111 /* Methods */
2113 #define MUIM_List_Clear 0x8042ad89 /* V4 */
2114 #define MUIM_List_CreateImage 0x80429804 /* V11 */
2115 #define MUIM_List_DeleteImage 0x80420f58 /* V11 */
2116 #define MUIM_List_Exchange 0x8042468c /* V4 */
2117 #define MUIM_List_GetEntry 0x804280ec /* V4 */
2118 #define MUIM_List_Insert 0x80426c87 /* V4 */
2119 #define MUIM_List_InsertSingle 0x804254d5 /* V7 */
2120 #define MUIM_List_Jump 0x8042baab /* V4 */
2121 #define MUIM_List_Move 0x804253c2 /* V9 */
2122 #define MUIM_List_NextSelected 0x80425f17 /* V6 */
2123 #define MUIM_List_Redraw 0x80427993 /* V4 */
2124 #define MUIM_List_Remove 0x8042647e /* V4 */
2125 #define MUIM_List_Select 0x804252d8 /* V4 */
2126 #define MUIM_List_Sort 0x80422275 /* V4 */
2127 #define MUIM_List_TestPos 0x80425f48 /* V11 */
2128 struct MUIP_List_Clear { ULONG MethodID; };
2129 struct MUIP_List_CreateImage { ULONG MethodID; Object *obj; ULONG flags; };
2130 struct MUIP_List_DeleteImage { ULONG MethodID; APTR listimg; };
2131 struct MUIP_List_Exchange { ULONG MethodID; LONG pos1; LONG pos2; };
2132 struct MUIP_List_GetEntry { ULONG MethodID; LONG pos; APTR *entry; };
2133 struct MUIP_List_Insert { ULONG MethodID; APTR *entries; LONG count; LONG pos; };
2134 struct MUIP_List_InsertSingle { ULONG MethodID; APTR entry; LONG pos; };
2135 struct MUIP_List_Jump { ULONG MethodID; LONG pos; };
2136 struct MUIP_List_Move { ULONG MethodID; LONG from; LONG to; };
2137 struct MUIP_List_NextSelected { ULONG MethodID; LONG *pos; };
2138 struct MUIP_List_Redraw { ULONG MethodID; LONG pos; };
2139 struct MUIP_List_Remove { ULONG MethodID; LONG pos; };
2140 struct MUIP_List_Select { ULONG MethodID; LONG pos; LONG seltype; LONG *state; };
2141 struct MUIP_List_Sort { ULONG MethodID; };
2142 struct MUIP_List_TestPos { ULONG MethodID; LONG x; LONG y; struct MUI_List_TestPos_Result *res; };
2144 /* Attributes */
2146 #define MUIA_List_Active 0x8042391c /* V4 isg LONG */
2147 #define MUIA_List_AdjustHeight 0x8042850d /* V4 i.. BOOL */
2148 #define MUIA_List_AdjustWidth 0x8042354a /* V4 i.. BOOL */
2149 #define MUIA_List_AutoVisible 0x8042a445 /* V11 isg BOOL */
2150 #define MUIA_List_CompareHook 0x80425c14 /* V4 is. struct Hook * */
2151 #define MUIA_List_ConstructHook 0x8042894f /* V4 is. struct Hook * */
2152 #define MUIA_List_DestructHook 0x804297ce /* V4 is. struct Hook * */
2153 #define MUIA_List_DisplayHook 0x8042b4d5 /* V4 is. struct Hook * */
2154 #define MUIA_List_DragSortable 0x80426099 /* V11 isg BOOL */
2155 #define MUIA_List_DropMark 0x8042aba6 /* V11 ..g LONG */
2156 #define MUIA_List_Entries 0x80421654 /* V4 ..g LONG */
2157 #define MUIA_List_First 0x804238d4 /* V4 ..g LONG */
2158 #define MUIA_List_Format 0x80423c0a /* V4 isg STRPTR */
2159 #define MUIA_List_InsertPosition 0x8042d0cd /* V9 ..g LONG */
2160 #define MUIA_List_MinLineHeight 0x8042d1c3 /* V4 i.. LONG */
2161 #define MUIA_List_MultiTestHook 0x8042c2c6 /* V4 is. struct Hook * */
2162 #define MUIA_List_Pool 0x80423431 /* V13 i.. APTR */
2163 #define MUIA_List_PoolPuddleSize 0x8042a4eb /* V13 i.. ULONG */
2164 #define MUIA_List_PoolThreshSize 0x8042c48c /* V13 i.. ULONG */
2165 #define MUIA_List_Quiet 0x8042d8c7 /* V4 .s. BOOL */
2166 #define MUIA_List_ShowDropMarks 0x8042c6f3 /* V11 isg BOOL */
2167 #define MUIA_List_SourceArray 0x8042c0a0 /* V4 i.. APTR */
2168 #define MUIA_List_Title 0x80423e66 /* V6 isg char * */
2169 #define MUIA_List_Visible 0x8042191f /* V4 ..g LONG */
2171 #define MUIV_List_Active_Off -1
2172 #define MUIV_List_Active_Top -2
2173 #define MUIV_List_Active_Bottom -3
2174 #define MUIV_List_Active_Up -4
2175 #define MUIV_List_Active_Down -5
2176 #define MUIV_List_Active_PageUp -6
2177 #define MUIV_List_Active_PageDown -7
2178 #define MUIV_List_ConstructHook_String -1
2179 #define MUIV_List_CopyHook_String -1
2180 #define MUIV_List_CursorType_None 0
2181 #define MUIV_List_CursorType_Bar 1
2182 #define MUIV_List_CursorType_Rect 2
2183 #define MUIV_List_DestructHook_String -1
2186 /****************************************************************************/
2187 /** Floattext **/
2188 /****************************************************************************/
2190 #ifdef _DCC
2191 extern char MUIC_Floattext[];
2192 #else
2193 #define MUIC_Floattext "Floattext.mui"
2194 #endif
2196 /* Attributes */
2198 #define MUIA_Floattext_Justify 0x8042dc03 /* V4 isg BOOL */
2199 #define MUIA_Floattext_SkipChars 0x80425c7d /* V4 is. STRPTR */
2200 #define MUIA_Floattext_TabSize 0x80427d17 /* V4 is. LONG */
2201 #define MUIA_Floattext_Text 0x8042d16a /* V4 isg STRPTR */
2205 /****************************************************************************/
2206 /** Volumelist **/
2207 /****************************************************************************/
2209 #ifdef _DCC
2210 extern char MUIC_Volumelist[];
2211 #else
2212 #define MUIC_Volumelist "Volumelist.mui"
2213 #endif
2215 /* Attributes */
2217 #define MUIA_Volumelist_ExampleMode 0x804246a5 /* V20 i.. BOOL */
2221 /****************************************************************************/
2222 /** Scrmodelist **/
2223 /****************************************************************************/
2225 #ifdef _DCC
2226 extern char MUIC_Scrmodelist[];
2227 #else
2228 #define MUIC_Scrmodelist "Scrmodelist.mui"
2229 #endif
2231 /* Attributes */
2236 /****************************************************************************/
2237 /** Dirlist **/
2238 /****************************************************************************/
2240 #ifdef _DCC
2241 extern char MUIC_Dirlist[];
2242 #else
2243 #define MUIC_Dirlist "Dirlist.mui"
2244 #endif
2246 /* Methods */
2248 #define MUIM_Dirlist_ReRead 0x80422d71 /* V4 */
2249 struct MUIP_Dirlist_ReRead { ULONG MethodID; };
2251 /* Attributes */
2253 #define MUIA_Dirlist_AcceptPattern 0x8042760a /* V4 is. STRPTR */
2254 #define MUIA_Dirlist_Directory 0x8042ea41 /* V4 isg STRPTR */
2255 #define MUIA_Dirlist_DrawersOnly 0x8042b379 /* V4 is. BOOL */
2256 #define MUIA_Dirlist_FilesOnly 0x8042896a /* V4 is. BOOL */
2257 #define MUIA_Dirlist_FilterDrawers 0x80424ad2 /* V4 is. BOOL */
2258 #define MUIA_Dirlist_FilterHook 0x8042ae19 /* V4 is. struct Hook * */
2259 #define MUIA_Dirlist_MultiSelDirs 0x80428653 /* V6 is. BOOL */
2260 #define MUIA_Dirlist_NumBytes 0x80429e26 /* V4 ..g LONG */
2261 #define MUIA_Dirlist_NumDrawers 0x80429cb8 /* V4 ..g LONG */
2262 #define MUIA_Dirlist_NumFiles 0x8042a6f0 /* V4 ..g LONG */
2263 #define MUIA_Dirlist_Path 0x80426176 /* V4 ..g STRPTR */
2264 #define MUIA_Dirlist_RejectIcons 0x80424808 /* V4 is. BOOL */
2265 #define MUIA_Dirlist_RejectPattern 0x804259c7 /* V4 is. STRPTR */
2266 #define MUIA_Dirlist_SortDirs 0x8042bbb9 /* V4 is. LONG */
2267 #define MUIA_Dirlist_SortHighLow 0x80421896 /* V4 is. BOOL */
2268 #define MUIA_Dirlist_SortType 0x804228bc /* V4 is. LONG */
2269 #define MUIA_Dirlist_Status 0x804240de /* V4 ..g LONG */
2271 #define MUIV_Dirlist_SortDirs_First 0
2272 #define MUIV_Dirlist_SortDirs_Last 1
2273 #define MUIV_Dirlist_SortDirs_Mix 2
2274 #define MUIV_Dirlist_SortType_Name 0
2275 #define MUIV_Dirlist_SortType_Date 1
2276 #define MUIV_Dirlist_SortType_Size 2
2277 #define MUIV_Dirlist_Status_Invalid 0
2278 #define MUIV_Dirlist_Status_Reading 1
2279 #define MUIV_Dirlist_Status_Valid 2
2282 /****************************************************************************/
2283 /** Numeric **/
2284 /****************************************************************************/
2286 #ifdef _DCC
2287 extern char MUIC_Numeric[];
2288 #else
2289 #define MUIC_Numeric "Numeric.mui"
2290 #endif
2292 /* Methods */
2294 #define MUIM_Numeric_Decrease 0x804243a7 /* V11 */
2295 #define MUIM_Numeric_Increase 0x80426ecd /* V11 */
2296 #define MUIM_Numeric_ScaleToValue 0x8042032c /* V11 */
2297 #define MUIM_Numeric_SetDefault 0x8042ab0a /* V11 */
2298 #define MUIM_Numeric_Stringify 0x80424891 /* V11 */
2299 #define MUIM_Numeric_ValueToScale 0x80423e4f /* V11 */
2300 struct MUIP_Numeric_Decrease { ULONG MethodID; LONG amount; };
2301 struct MUIP_Numeric_Increase { ULONG MethodID; LONG amount; };
2302 struct MUIP_Numeric_ScaleToValue { ULONG MethodID; LONG scalemin; LONG scalemax; LONG scale; };
2303 struct MUIP_Numeric_SetDefault { ULONG MethodID; };
2304 struct MUIP_Numeric_Stringify { ULONG MethodID; LONG value; };
2305 struct MUIP_Numeric_ValueToScale { ULONG MethodID; LONG scalemin; LONG scalemax; };
2307 /* Attributes */
2309 #define MUIA_Numeric_CheckAllSizes 0x80421594 /* V11 isg BOOL */
2310 #define MUIA_Numeric_Default 0x804263e8 /* V11 isg LONG */
2311 #define MUIA_Numeric_Format 0x804263e9 /* V11 isg STRPTR */
2312 #define MUIA_Numeric_Max 0x8042d78a /* V11 isg LONG */
2313 #define MUIA_Numeric_Min 0x8042e404 /* V11 isg LONG */
2314 #define MUIA_Numeric_Reverse 0x8042f2a0 /* V11 isg BOOL */
2315 #define MUIA_Numeric_RevLeftRight 0x804294a7 /* V11 isg BOOL */
2316 #define MUIA_Numeric_RevUpDown 0x804252dd /* V11 isg BOOL */
2317 #define MUIA_Numeric_Value 0x8042ae3a /* V11 isg LONG */
2321 /****************************************************************************/
2322 /** Knob **/
2323 /****************************************************************************/
2325 #ifdef _DCC
2326 extern char MUIC_Knob[];
2327 #else
2328 #define MUIC_Knob "Knob.mui"
2329 #endif
2332 /****************************************************************************/
2333 /** Levelmeter **/
2334 /****************************************************************************/
2336 #ifdef _DCC
2337 extern char MUIC_Levelmeter[];
2338 #else
2339 #define MUIC_Levelmeter "Levelmeter.mui"
2340 #endif
2342 /* Attributes */
2344 #define MUIA_Levelmeter_Label 0x80420dd5 /* V11 isg STRPTR */
2348 /****************************************************************************/
2349 /** Numericbutton **/
2350 /****************************************************************************/
2352 #ifdef _DCC
2353 extern char MUIC_Numericbutton[];
2354 #else
2355 #define MUIC_Numericbutton "Numericbutton.mui"
2356 #endif
2359 /****************************************************************************/
2360 /** Slider **/
2361 /****************************************************************************/
2363 #ifdef _DCC
2364 extern char MUIC_Slider[];
2365 #else
2366 #define MUIC_Slider "Slider.mui"
2367 #endif
2369 /* Attributes */
2371 #define MUIA_Slider_Horiz 0x8042fad1 /* V11 isg BOOL */
2372 #ifdef MUI_OBSOLETE
2373 #define MUIA_Slider_Level 0x8042ae3a /* V4 isg LONG */
2374 #endif /* MUI_OBSOLETE */
2375 #ifdef MUI_OBSOLETE
2376 #define MUIA_Slider_Max 0x8042d78a /* V4 isg LONG */
2377 #endif /* MUI_OBSOLETE */
2378 #ifdef MUI_OBSOLETE
2379 #define MUIA_Slider_Min 0x8042e404 /* V4 isg LONG */
2380 #endif /* MUI_OBSOLETE */
2381 #define MUIA_Slider_Quiet 0x80420b26 /* V6 i.. BOOL */
2382 #ifdef MUI_OBSOLETE
2383 #define MUIA_Slider_Reverse 0x8042f2a0 /* V4 isg BOOL */
2384 #endif /* MUI_OBSOLETE */
2385 #define MUIA_Slider_Size 0x8042b69d /* V20 isg BOOL */
2389 /****************************************************************************/
2390 /** Framedisplay **/
2391 /****************************************************************************/
2393 #ifdef _DCC
2394 extern char MUIC_Framedisplay[];
2395 #else
2396 #define MUIC_Framedisplay "Framedisplay.mui"
2397 #endif
2399 /* Attributes */
2404 /****************************************************************************/
2405 /** Popframe **/
2406 /****************************************************************************/
2408 #ifdef _DCC
2409 extern char MUIC_Popframe[];
2410 #else
2411 #define MUIC_Popframe "Popframe.mui"
2412 #endif
2415 /****************************************************************************/
2416 /** Imagedisplay **/
2417 /****************************************************************************/
2419 #ifdef _DCC
2420 extern char MUIC_Imagedisplay[];
2421 #else
2422 #define MUIC_Imagedisplay "Imagedisplay.mui"
2423 #endif
2425 /* Attributes */
2430 /****************************************************************************/
2431 /** Popimage **/
2432 /****************************************************************************/
2434 #ifdef _DCC
2435 extern char MUIC_Popimage[];
2436 #else
2437 #define MUIC_Popimage "Popimage.mui"
2438 #endif
2441 /****************************************************************************/
2442 /** Pendisplay **/
2443 /****************************************************************************/
2445 #ifdef _DCC
2446 extern char MUIC_Pendisplay[];
2447 #else
2448 #define MUIC_Pendisplay "Pendisplay.mui"
2449 #endif
2451 /* Methods */
2453 #define MUIM_Pendisplay_SetColormap 0x80426c80 /* V13 */
2454 #define MUIM_Pendisplay_SetMUIPen 0x8042039d /* V13 */
2455 #define MUIM_Pendisplay_SetRGB 0x8042c131 /* V13 */
2456 struct MUIP_Pendisplay_SetColormap { ULONG MethodID; LONG colormap; };
2457 struct MUIP_Pendisplay_SetMUIPen { ULONG MethodID; LONG muipen; };
2458 struct MUIP_Pendisplay_SetRGB { ULONG MethodID; ULONG red; ULONG green; ULONG blue; };
2460 /* Attributes */
2462 #define MUIA_Pendisplay_Pen 0x8042a748 /* V13 ..g ULONG */
2463 #define MUIA_Pendisplay_Reference 0x8042dc24 /* V13 isg Object * */
2464 #define MUIA_Pendisplay_RGBcolor 0x8042a1a9 /* V11 isg struct MUI_RGBcolor * */
2465 #define MUIA_Pendisplay_Spec 0x8042a204 /* V11 isg struct MUI_PenSpec * */
2469 /****************************************************************************/
2470 /** Poppen **/
2471 /****************************************************************************/
2473 #ifdef _DCC
2474 extern char MUIC_Poppen[];
2475 #else
2476 #define MUIC_Poppen "Poppen.mui"
2477 #endif
2480 /****************************************************************************/
2481 /** Group **/
2482 /****************************************************************************/
2484 #ifdef _DCC
2485 extern char MUIC_Group[];
2486 #else
2487 #define MUIC_Group "Group.mui"
2488 #endif
2490 /* Methods */
2492 #define MUIM_Group_ExitChange 0x8042d1cc /* V11 */
2493 #define MUIM_Group_InitChange 0x80420887 /* V11 */
2494 #define MUIM_Group_MoveMember 0x8042ff4e /* V16 */
2495 #define MUIM_Group_Sort 0x80427417 /* V4 */
2496 struct MUIP_Group_ExitChange { ULONG MethodID; };
2497 struct MUIP_Group_InitChange { ULONG MethodID; };
2498 struct MUIP_Group_MoveMember { ULONG MethodID; Object *o; LONG pos; };
2499 struct MUIP_Group_Sort { ULONG MethodID; Object *obj[1]; };
2501 /* Attributes */
2503 #define MUIA_Group_ActivePage 0x80424199 /* V5 isg LONG */
2504 #define MUIA_Group_Child 0x804226e6 /* V4 i.. Object * */
2505 #define MUIA_Group_ChildList 0x80424748 /* V4 ..g struct List * */
2506 #define MUIA_Group_Columns 0x8042f416 /* V4 is. LONG */
2507 #define MUIA_Group_Forward 0x80421422 /* V11 .s. BOOL */
2508 #define MUIA_Group_Horiz 0x8042536b /* V4 i.. BOOL */
2509 #define MUIA_Group_HorizSpacing 0x8042c651 /* V4 isg LONG */
2510 #define MUIA_Group_LayoutHook 0x8042c3b2 /* V11 i.. struct Hook * */
2511 #define MUIA_Group_PageMode 0x80421a5f /* V5 i.. BOOL */
2512 #define MUIA_Group_Rows 0x8042b68f /* V4 is. LONG */
2513 #define MUIA_Group_SameHeight 0x8042037e /* V4 i.. BOOL */
2514 #define MUIA_Group_SameSize 0x80420860 /* V4 i.. BOOL */
2515 #define MUIA_Group_SameWidth 0x8042b3ec /* V4 i.. BOOL */
2516 #define MUIA_Group_Spacing 0x8042866d /* V4 is. LONG */
2517 #define MUIA_Group_VertSpacing 0x8042e1bf /* V4 isg LONG */
2519 #define MUIV_Group_ActivePage_First 0
2520 #define MUIV_Group_ActivePage_Last -1
2521 #define MUIV_Group_ActivePage_Prev -2
2522 #define MUIV_Group_ActivePage_Next -3
2523 #define MUIV_Group_ActivePage_Advance -4
2526 /****************************************************************************/
2527 /** Selectgroup **/
2528 /****************************************************************************/
2530 #ifdef _DCC
2531 extern char MUIC_Selectgroup[];
2532 #else
2533 #define MUIC_Selectgroup "Selectgroup.mui"
2534 #endif
2537 /****************************************************************************/
2538 /** Menudisplay **/
2539 /****************************************************************************/
2541 #ifdef _DCC
2542 extern char MUIC_Menudisplay[];
2543 #else
2544 #define MUIC_Menudisplay "Menudisplay.mui"
2545 #endif
2547 /* Methods */
2551 /****************************************************************************/
2552 /** Mccprefs **/
2553 /****************************************************************************/
2555 #ifdef _DCC
2556 extern char MUIC_Mccprefs[];
2557 #else
2558 #define MUIC_Mccprefs "Mccprefs.mui"
2559 #endif
2561 /* Methods */
2563 #define MUIM_Mccprefs_ConfigToGadgets 0x80427043 /* V11 */
2564 #define MUIM_Mccprefs_GadgetsToConfig 0x80425242 /* V11 */
2565 #define MUIM_Mccprefs_RegisterGadget 0x80424828 /* V20 */
2566 struct MUIP_Mccprefs_ConfigToGadgets { ULONG MethodID; Object *configdata; };
2567 struct MUIP_Mccprefs_GadgetsToConfig { ULONG MethodID; Object *configdata; };
2568 struct MUIP_Mccprefs_RegisterGadget { ULONG MethodID; Object *gadget; ULONG id; ULONG flags; STRPTR title; };
2570 /* Attributes */
2575 /****************************************************************************/
2576 /** Register **/
2577 /****************************************************************************/
2579 #ifdef _DCC
2580 extern char MUIC_Register[];
2581 #else
2582 #define MUIC_Register "Register.mui"
2583 #endif
2585 /* Attributes */
2587 #define MUIA_Register_Frame 0x8042349b /* V7 i.g BOOL */
2588 #define MUIA_Register_Titles 0x804297ec /* V7 i.g STRPTR * */
2592 /****************************************************************************/
2593 /** Penadjust **/
2594 /****************************************************************************/
2596 #ifdef _DCC
2597 extern char MUIC_Penadjust[];
2598 #else
2599 #define MUIC_Penadjust "Penadjust.mui"
2600 #endif
2602 /* Methods */
2605 /* Attributes */
2607 #define MUIA_Penadjust_PSIMode 0x80421cbb /* V11 i.. BOOL */
2611 /****************************************************************************/
2612 /** Settingsgroup **/
2613 /****************************************************************************/
2615 #ifdef _DCC
2616 extern char MUIC_Settingsgroup[];
2617 #else
2618 #define MUIC_Settingsgroup "Settingsgroup.mui"
2619 #endif
2621 /* Methods */
2623 #define MUIM_Settingsgroup_ConfigToGadgets 0x80427043 /* V11 */
2624 #define MUIM_Settingsgroup_GadgetsToConfig 0x80425242 /* V11 */
2625 struct MUIP_Settingsgroup_ConfigToGadgets { ULONG MethodID; Object *configdata; };
2626 struct MUIP_Settingsgroup_GadgetsToConfig { ULONG MethodID; Object *configdata; };
2628 /* Attributes */
2633 /****************************************************************************/
2634 /** Settingsgroupr **/
2635 /****************************************************************************/
2637 #ifdef _DCC
2638 extern char MUIC_Settingsgroupr[];
2639 #else
2640 #define MUIC_Settingsgroupr "Settingsgroupr.mui"
2641 #endif
2644 /****************************************************************************/
2645 /** Settings **/
2646 /****************************************************************************/
2648 #ifdef _DCC
2649 extern char MUIC_Settings[];
2650 #else
2651 #define MUIC_Settings "Settings.mui"
2652 #endif
2654 /* Methods */
2657 /* Attributes */
2662 /****************************************************************************/
2663 /** Frameadjust **/
2664 /****************************************************************************/
2666 #ifdef _DCC
2667 extern char MUIC_Frameadjust[];
2668 #else
2669 #define MUIC_Frameadjust "Frameadjust.mui"
2670 #endif
2672 /* Methods */
2675 /* Attributes */
2680 /****************************************************************************/
2681 /** Imageadjust **/
2682 /****************************************************************************/
2684 #ifdef _DCC
2685 extern char MUIC_Imageadjust[];
2686 #else
2687 #define MUIC_Imageadjust "Imageadjust.mui"
2688 #endif
2690 /* Methods */
2693 /* Attributes */
2696 #define MUIV_Imageadjust_Type_All 0
2697 #define MUIV_Imageadjust_Type_Image 1
2698 #define MUIV_Imageadjust_Type_Background 2
2699 #define MUIV_Imageadjust_Type_Pen 3
2702 /****************************************************************************/
2703 /** Virtgroup **/
2704 /****************************************************************************/
2706 #ifdef _DCC
2707 extern char MUIC_Virtgroup[];
2708 #else
2709 #define MUIC_Virtgroup "Virtgroup.mui"
2710 #endif
2712 /* Methods */
2715 /* Attributes */
2717 #define MUIA_Virtgroup_Height 0x80423038 /* V6 ..g LONG */
2718 #define MUIA_Virtgroup_Input 0x80427f7e /* V11 i.. BOOL */
2719 #define MUIA_Virtgroup_Left 0x80429371 /* V6 isg LONG */
2720 #define MUIA_Virtgroup_Top 0x80425200 /* V6 isg LONG */
2721 #define MUIA_Virtgroup_Width 0x80427c49 /* V6 ..g LONG */
2725 /****************************************************************************/
2726 /** Scrollgroup **/
2727 /****************************************************************************/
2729 #ifdef _DCC
2730 extern char MUIC_Scrollgroup[];
2731 #else
2732 #define MUIC_Scrollgroup "Scrollgroup.mui"
2733 #endif
2735 /* Methods */
2738 /* Attributes */
2740 #define MUIA_Scrollgroup_Contents 0x80421261 /* V4 i.g Object * */
2741 #define MUIA_Scrollgroup_FreeHoriz 0x804292f3 /* V9 i.. BOOL */
2742 #define MUIA_Scrollgroup_FreeVert 0x804224f2 /* V9 i.. BOOL */
2743 #define MUIA_Scrollgroup_HorizBar 0x8042b63d /* V16 ..g Object * */
2744 #define MUIA_Scrollgroup_UseWinBorder 0x804284c1 /* V13 i.. BOOL */
2745 #define MUIA_Scrollgroup_VertBar 0x8042cdc0 /* V16 ..g Object * */
2749 /****************************************************************************/
2750 /** Scrollbar **/
2751 /****************************************************************************/
2753 #ifdef _DCC
2754 extern char MUIC_Scrollbar[];
2755 #else
2756 #define MUIC_Scrollbar "Scrollbar.mui"
2757 #endif
2759 /* Attributes */
2761 #define MUIA_Scrollbar_Type 0x8042fb6b /* V11 i.. LONG */
2763 #define MUIV_Scrollbar_Type_Default 0
2764 #define MUIV_Scrollbar_Type_Bottom 1
2765 #define MUIV_Scrollbar_Type_Top 2
2766 #define MUIV_Scrollbar_Type_Sym 3
2769 /****************************************************************************/
2770 /** Listview **/
2771 /****************************************************************************/
2773 #ifdef _DCC
2774 extern char MUIC_Listview[];
2775 #else
2776 #define MUIC_Listview "Listview.mui"
2777 #endif
2779 /* Attributes */
2781 #define MUIA_Listview_ClickColumn 0x8042d1b3 /* V7 ..g LONG */
2782 #define MUIA_Listview_DefClickColumn 0x8042b296 /* V7 isg LONG */
2783 #define MUIA_Listview_DoubleClick 0x80424635 /* V4 i.g BOOL */
2784 #define MUIA_Listview_DragType 0x80425cd3 /* V11 isg LONG */
2785 #define MUIA_Listview_Input 0x8042682d /* V4 i.. BOOL */
2786 #define MUIA_Listview_List 0x8042bcce /* V4 i.g Object * */
2787 #define MUIA_Listview_MultiSelect 0x80427e08 /* V7 i.. LONG */
2788 #define MUIA_Listview_ScrollerPos 0x8042b1b4 /* V10 i.. BOOL */
2789 #define MUIA_Listview_SelectChange 0x8042178f /* V4 ..g BOOL */
2791 #define MUIV_Listview_DragType_None 0
2792 #define MUIV_Listview_DragType_Immediate 1
2793 #define MUIV_Listview_MultiSelect_None 0
2794 #define MUIV_Listview_MultiSelect_Default 1
2795 #define MUIV_Listview_MultiSelect_Shifted 2
2796 #define MUIV_Listview_MultiSelect_Always 3
2797 #define MUIV_Listview_ScrollerPos_Default 0
2798 #define MUIV_Listview_ScrollerPos_Left 1
2799 #define MUIV_Listview_ScrollerPos_Right 2
2800 #define MUIV_Listview_ScrollerPos_None 3
2803 /****************************************************************************/
2804 /** Radio **/
2805 /****************************************************************************/
2807 #ifdef _DCC
2808 extern char MUIC_Radio[];
2809 #else
2810 #define MUIC_Radio "Radio.mui"
2811 #endif
2813 /* Attributes */
2815 #define MUIA_Radio_Active 0x80429b41 /* V4 isg LONG */
2816 #define MUIA_Radio_Entries 0x8042b6a1 /* V4 i.. STRPTR * */
2820 /****************************************************************************/
2821 /** Cycle **/
2822 /****************************************************************************/
2824 #ifdef _DCC
2825 extern char MUIC_Cycle[];
2826 #else
2827 #define MUIC_Cycle "Cycle.mui"
2828 #endif
2830 /* Attributes */
2832 #define MUIA_Cycle_Active 0x80421788 /* V4 isg LONG */
2833 #define MUIA_Cycle_Entries 0x80420629 /* V4 i.. STRPTR * */
2835 #define MUIV_Cycle_Active_Next -1
2836 #define MUIV_Cycle_Active_Prev -2
2839 /****************************************************************************/
2840 /** Coloradjust **/
2841 /****************************************************************************/
2843 #ifdef _DCC
2844 extern char MUIC_Coloradjust[];
2845 #else
2846 #define MUIC_Coloradjust "Coloradjust.mui"
2847 #endif
2849 /* Methods */
2852 /* Attributes */
2854 #define MUIA_Coloradjust_Blue 0x8042b8a3 /* V4 isg ULONG */
2855 #define MUIA_Coloradjust_Green 0x804285ab /* V4 isg ULONG */
2856 #define MUIA_Coloradjust_ModeID 0x8042ec59 /* V4 isg ULONG */
2857 #define MUIA_Coloradjust_Red 0x80420eaa /* V4 isg ULONG */
2858 #define MUIA_Coloradjust_RGB 0x8042f899 /* V4 isg ULONG * */
2862 /****************************************************************************/
2863 /** Palette **/
2864 /****************************************************************************/
2866 #ifdef _DCC
2867 extern char MUIC_Palette[];
2868 #else
2869 #define MUIC_Palette "Palette.mui"
2870 #endif
2872 /* Attributes */
2874 #define MUIA_Palette_Entries 0x8042a3d8 /* V6 i.g struct MUI_Palette_Entry * */
2875 #define MUIA_Palette_Groupable 0x80423e67 /* V6 isg BOOL */
2876 #define MUIA_Palette_Names 0x8042c3a2 /* V6 isg char ** */
2880 /****************************************************************************/
2881 /** Popstring **/
2882 /****************************************************************************/
2884 #ifdef _DCC
2885 extern char MUIC_Popstring[];
2886 #else
2887 #define MUIC_Popstring "Popstring.mui"
2888 #endif
2890 /* Methods */
2892 #define MUIM_Popstring_Close 0x8042dc52 /* V7 */
2893 #define MUIM_Popstring_Open 0x804258ba /* V7 */
2894 struct MUIP_Popstring_Close { ULONG MethodID; LONG result; };
2895 struct MUIP_Popstring_Open { ULONG MethodID; };
2897 /* Attributes */
2899 #define MUIA_Popstring_Button 0x8042d0b9 /* V7 i.g Object * */
2900 #define MUIA_Popstring_CloseHook 0x804256bf /* V7 isg struct Hook * */
2901 #define MUIA_Popstring_OpenHook 0x80429d00 /* V7 isg struct Hook * */
2902 #define MUIA_Popstring_String 0x804239ea /* V7 i.g Object * */
2903 #define MUIA_Popstring_Toggle 0x80422b7a /* V7 isg BOOL */
2907 /****************************************************************************/
2908 /** Pubscreenadjust **/
2909 /****************************************************************************/
2911 #ifdef _DCC
2912 extern char MUIC_Pubscreenadjust[];
2913 #else
2914 #define MUIC_Pubscreenadjust "Pubscreenadjust.mui"
2915 #endif
2917 /* Methods */
2921 /****************************************************************************/
2922 /** Pubscreenpanel **/
2923 /****************************************************************************/
2925 #ifdef _DCC
2926 extern char MUIC_Pubscreenpanel[];
2927 #else
2928 #define MUIC_Pubscreenpanel "Pubscreenpanel.mui"
2929 #endif
2931 /* Methods */
2934 /* Attributes */
2939 /****************************************************************************/
2940 /** Pubscreenlist **/
2941 /****************************************************************************/
2943 #ifdef _DCC
2944 extern char MUIC_Pubscreenlist[];
2945 #else
2946 #define MUIC_Pubscreenlist "Pubscreenlist.mui"
2947 #endif
2949 /* Methods */
2952 /* Attributes */
2954 #define MUIA_Pubscreenlist_Selection 0x8042fe58 /* V20 ..g STRPTR */
2955 #define MUIA_Pubscreenlist_String 0x80422ce2 /* V20 .s. Object * */
2959 /****************************************************************************/
2960 /** Popobject **/
2961 /****************************************************************************/
2963 #ifdef _DCC
2964 extern char MUIC_Popobject[];
2965 #else
2966 #define MUIC_Popobject "Popobject.mui"
2967 #endif
2969 /* Attributes */
2971 #define MUIA_Popobject_Follow 0x80424cb5 /* V7 isg BOOL */
2972 #define MUIA_Popobject_Light 0x8042a5a3 /* V7 isg BOOL */
2973 #define MUIA_Popobject_Object 0x804293e3 /* V7 i.g Object * */
2974 #define MUIA_Popobject_ObjStrHook 0x8042db44 /* V7 isg struct Hook * */
2975 #define MUIA_Popobject_StrObjHook 0x8042fbe1 /* V7 isg struct Hook * */
2976 #define MUIA_Popobject_Volatile 0x804252ec /* V7 isg BOOL */
2977 #define MUIA_Popobject_WindowHook 0x8042f194 /* V9 isg struct Hook * */
2981 /****************************************************************************/
2982 /** Poplist **/
2983 /****************************************************************************/
2985 #ifdef _DCC
2986 extern char MUIC_Poplist[];
2987 #else
2988 #define MUIC_Poplist "Poplist.mui"
2989 #endif
2991 /* Attributes */
2993 #define MUIA_Poplist_Array 0x8042084c /* V8 i.. char ** */
2997 /****************************************************************************/
2998 /** Popscreen **/
2999 /****************************************************************************/
3001 #ifdef _DCC
3002 extern char MUIC_Popscreen[];
3003 #else
3004 #define MUIC_Popscreen "Popscreen.mui"
3005 #endif
3007 /* Attributes */
3012 /****************************************************************************/
3013 /** Popasl **/
3014 /****************************************************************************/
3016 #ifdef _DCC
3017 extern char MUIC_Popasl[];
3018 #else
3019 #define MUIC_Popasl "Popasl.mui"
3020 #endif
3022 /* Attributes */
3024 #define MUIA_Popasl_Active 0x80421b37 /* V7 ..g BOOL */
3025 #define MUIA_Popasl_StartHook 0x8042b703 /* V7 isg struct Hook * */
3026 #define MUIA_Popasl_StopHook 0x8042d8d2 /* V7 isg struct Hook * */
3027 #define MUIA_Popasl_Type 0x8042df3d /* V7 i.g ULONG */
3031 /****************************************************************************/
3032 /** Semaphore **/
3033 /****************************************************************************/
3035 #ifdef _DCC
3036 extern char MUIC_Semaphore[];
3037 #else
3038 #define MUIC_Semaphore "Semaphore.mui"
3039 #endif
3041 /* Methods */
3043 #define MUIM_Semaphore_Attempt 0x80426ce2 /* V11 */
3044 #define MUIM_Semaphore_AttemptShared 0x80422551 /* V11 */
3045 #define MUIM_Semaphore_Obtain 0x804276f0 /* V11 */
3046 #define MUIM_Semaphore_ObtainShared 0x8042ea02 /* V11 */
3047 #define MUIM_Semaphore_Release 0x80421f2d /* V11 */
3048 struct MUIP_Semaphore_Attempt { ULONG MethodID; };
3049 struct MUIP_Semaphore_AttemptShared { ULONG MethodID; };
3050 struct MUIP_Semaphore_Obtain { ULONG MethodID; };
3051 struct MUIP_Semaphore_ObtainShared { ULONG MethodID; };
3052 struct MUIP_Semaphore_Release { ULONG MethodID; };
3055 /****************************************************************************/
3056 /** Applist **/
3057 /****************************************************************************/
3059 #ifdef _DCC
3060 extern char MUIC_Applist[];
3061 #else
3062 #define MUIC_Applist "Applist.mui"
3063 #endif
3065 /* Methods */
3069 /****************************************************************************/
3070 /** Cclist **/
3071 /****************************************************************************/
3073 #ifdef _DCC
3074 extern char MUIC_Cclist[];
3075 #else
3076 #define MUIC_Cclist "Cclist.mui"
3077 #endif
3079 /* Methods */
3083 /****************************************************************************/
3084 /** Dataspace **/
3085 /****************************************************************************/
3087 #ifdef _DCC
3088 extern char MUIC_Dataspace[];
3089 #else
3090 #define MUIC_Dataspace "Dataspace.mui"
3091 #endif
3093 /* Methods */
3095 #define MUIM_Dataspace_Add 0x80423366 /* V11 */
3096 #define MUIM_Dataspace_Clear 0x8042b6c9 /* V11 */
3097 #define MUIM_Dataspace_Find 0x8042832c /* V11 */
3098 #define MUIM_Dataspace_Merge 0x80423e2b /* V11 */
3099 #define MUIM_Dataspace_ReadIFF 0x80420dfb /* V11 */
3100 #define MUIM_Dataspace_Remove 0x8042dce1 /* V11 */
3101 #define MUIM_Dataspace_WriteIFF 0x80425e8e /* V11 */
3102 struct MUIP_Dataspace_Add { ULONG MethodID; APTR data; LONG len; ULONG id; };
3103 struct MUIP_Dataspace_Clear { ULONG MethodID; };
3104 struct MUIP_Dataspace_Find { ULONG MethodID; ULONG id; };
3105 struct MUIP_Dataspace_Merge { ULONG MethodID; Object *dataspace; };
3106 struct MUIP_Dataspace_ReadIFF { ULONG MethodID; struct IFFHandle *handle; };
3107 struct MUIP_Dataspace_Remove { ULONG MethodID; ULONG id; };
3108 struct MUIP_Dataspace_WriteIFF { ULONG MethodID; struct IFFHandle *handle; ULONG type; ULONG id; };
3110 /* Attributes */
3112 #define MUIA_Dataspace_Pool 0x80424cf9 /* V11 i.. APTR */
3116 /****************************************************************************/
3117 /** Configdata **/
3118 /****************************************************************************/
3120 #ifdef _DCC
3121 extern char MUIC_Configdata[];
3122 #else
3123 #define MUIC_Configdata "Configdata.mui"
3124 #endif
3126 /* Methods */
3129 /* Attributes */
3134 /****************************************************************************/
3135 /** Rootgrp **/
3136 /****************************************************************************/
3138 #ifdef _DCC
3139 extern char MUIC_Rootgrp[];
3140 #else
3141 #define MUIC_Rootgrp "Rootgrp.mui"
3142 #endif
3145 /****************************************************************************/
3146 /** Audiocontrols **/
3147 /****************************************************************************/
3149 #ifdef _DCC
3150 extern char MUIC_Audiocontrols[];
3151 #else
3152 #define MUIC_Audiocontrols "Audiocontrols.mui"
3153 #endif
3155 /* Methods */
3158 /* Attributes */
3163 /****************************************************************************/
3164 /** Audiomixer **/
3165 /****************************************************************************/
3167 #ifdef _DCC
3168 extern char MUIC_Audiomixer[];
3169 #else
3170 #define MUIC_Audiomixer "Audiomixer.mui"
3171 #endif
3173 /* Attributes */
3178 /****************************************************************************/
3179 /** Popmenu **/
3180 /****************************************************************************/
3182 #ifdef _DCC
3183 extern char MUIC_Popmenu[];
3184 #else
3185 #define MUIC_Popmenu "Popmenu.mui"
3186 #endif
3188 /* Methods */
3191 /* Attributes */
3194 #define MUIV_Popmenu_Active_First -3
3195 #define MUIV_Popmenu_Active_Last -2
3196 #define MUIV_Popmenu_Active_None -1
3197 #define MUIV_Popmenu_PosX_Type_Center 0
3198 #define MUIV_Popmenu_PosX_Type_Left 1
3199 #define MUIV_Popmenu_PosX_Type_Right 2
3200 #define MUIV_Popmenu_PosY_Type_Middle 0
3201 #define MUIV_Popmenu_PosY_Type_Top 1
3202 #define MUIV_Popmenu_PosY_Type_Bottom 2
3203 #define MUIV_Popmenu_PosY_Type_Active 3
3204 #define MUIV_Popmenu_Stickyness_Auto 0
3205 #define MUIV_Popmenu_Stickyness_Always 1
3206 #define MUIV_Popmenu_Stickyness_Never 2
3207 #define MUIV_Popmenu_Type_Context 0
3208 #define MUIV_Popmenu_Type_Menu 1
3209 #define MUIV_Popmenu_Type_Cycle 2
3210 #define MUIV_Popmenu_Type_Popup 3
3211 #define MUIV_Popmenu_Type_Other 255
3214 /****************************************************************************/
3215 /** Rawimage **/
3216 /****************************************************************************/
3218 #if !defined(__MORPHOS__)
3219 #ifdef _DCC
3220 extern char MUIC_Rawimage[];
3221 #else
3222 #define MUIC_Rawimage "Rawimage.mui"
3223 #endif
3225 /* Attributes */
3227 #define MUIA_Rawimage_Alpha 0x8042e72e /* V20 isg ULONG */
3228 #define MUIA_Rawimage_CLUT 0x8042be74 /* V20 isg ULONG * */
3229 #define MUIA_Rawimage_Data 0x80422919 /* V20 isg APTR */
3230 #define MUIA_Rawimage_DataFormat 0x8042a6e8 /* V20 isg ULONG */
3231 #define MUIA_Rawimage_Height 0x8042f5bd /* V20 isg LONG */
3232 #define MUIA_Rawimage_Width 0x8042f98c /* V20 isg LONG */
3234 #define MUIV_Rawimage_DataFormat_CLUT8 0
3235 #define MUIV_Rawimage_DataFormat_RGB24 1
3236 #define MUIV_Rawimage_DataFormat_ARGB32 2
3237 #endif
3239 /*****************************************/
3240 /* End of automatic header file creation */
3241 /*****************************************/
3249 /*************************************************************************
3250 ** Structures and Macros for creating custom classes.
3251 *************************************************************************/
3255 ** GENERAL NOTES:
3257 ** - Everything described in this header file is only valid within
3258 ** MUI classes. You may never use any of these things out of
3259 ** a class, e.g. in a traditional MUI application.
3261 ** - Except when otherwise stated, all structures are strictly read only.
3265 /* Global information for every object */
3267 struct MUI_GlobalInfo
3269 ULONG priv0;
3270 Object *mgi_ApplicationObject;
3272 /* ... private data follows ... */
3276 /* Instance data of notify class */
3278 struct MUI_NotifyData
3280 struct MUI_GlobalInfo *mnd_GlobalInfo;
3281 ULONG mnd_UserData;
3282 ULONG mnd_ObjectID;
3283 ULONG priv1;
3284 ULONG priv2;
3285 ULONG priv3;
3286 ULONG priv4;
3290 /* MUI_MinMax structure holds information about minimum, maximum
3291 and default dimensions of an object. */
3293 struct MUI_MinMax
3295 WORD MinWidth;
3296 WORD MinHeight;
3297 WORD MaxWidth;
3298 WORD MaxHeight;
3299 WORD DefWidth;
3300 WORD DefHeight;
3303 #define MUI_MAXMAX 10000 /* use this if a dimension is not limited. */
3306 /* Hook message for custom layout */
3308 struct MUI_LayoutMsg
3310 ULONG lm_Type; /* type of message (see defines below) */
3311 struct MinList *lm_Children; /* list of this groups children, traverse with NextObject() */
3312 struct MUI_MinMax lm_MinMax; /* results for MUILM_MINMAX */
3313 struct
3315 LONG Width;
3316 LONG Height;
3317 ULONG priv5;
3318 ULONG priv6;
3319 } lm_Layout; /* size (and result) for MUILM_LAYOUT */
3322 #define MUILM_MINMAX 1 /* MUI wants you to calc your min & max sizes */
3323 #define MUILM_LAYOUT 2 /* MUI wants you to layout your children */
3325 #define MUILM_UNKNOWN -1 /* return this if your hook doesn't implement lm_Type */
3328 /* (partial) instance data of area class */
3330 struct MUI_AreaData
3332 struct MUI_RenderInfo *mad_RenderInfo; /* RenderInfo for this object */
3333 ULONG priv7;
3334 struct TextFont *mad_Font; /* Font */
3335 struct MUI_MinMax mad_MinMax; /* min/max/default sizes */
3336 struct IBox mad_Box; /* position and dimension */
3337 BYTE mad_addleft; /* frame & innerspacing left offset */
3338 BYTE mad_addtop; /* frame & innerspacing top offset */
3339 BYTE mad_subwidth; /* frame & innerspacing add. width */
3340 BYTE mad_subheight; /* frame & innerspacing add. height */
3341 ULONG mad_Flags; /* see definitions below */
3343 /* ... private data follows ... */
3346 /* Definitions for mad_Flags, other flags are private */
3348 #define MADF_DRAWOBJECT (1<< 0) /* completely redraw yourself */
3349 #define MADF_DRAWUPDATE (1<< 1) /* only update yourself */
3351 /* MUI's draw pens */
3353 #define MPEN_SHINE 0
3354 #define MPEN_HALFSHINE 1
3355 #define MPEN_BACKGROUND 2
3356 #define MPEN_HALFSHADOW 3
3357 #define MPEN_SHADOW 4
3358 #define MPEN_TEXT 5
3359 #define MPEN_FILL 6
3360 #define MPEN_MARK 7
3361 #define MPEN_COUNT 8
3364 /* Mask for pens from MUI_ObtainPen() */
3366 #define MUIPEN_MASK 0x0000ffff
3367 #define MUIPEN(pen) ((pen) & MUIPEN_MASK)
3369 /* Information on display environment */
3371 struct MUI_RenderInfo
3373 Object *mri_WindowObject; /* valid between MUIM_Setup/MUIM_Cleanup */
3375 struct Screen *mri_Screen; /* valid between MUIM_Setup/MUIM_Cleanup */
3376 struct DrawInfo *mri_DrawInfo; /* valid between MUIM_Setup/MUIM_Cleanup */
3377 UWORD *mri_Pens; /* valid between MUIM_Setup/MUIM_Cleanup */
3378 struct Window *mri_Window; /* valid between MUIM_Show/MUIM_Hide */
3379 struct RastPort *mri_RastPort; /* valid between MUIM_Show/MUIM_Hide */
3381 ULONG mri_Flags; /* valid between MUIM_Setup/MUIM_Cleanup */
3383 /* ... private data follows ... */
3387 ** If mri_Flags & MUIMRI_RECTFILL, RectFill() is quicker
3388 ** than Move()/Draw() for horizontal or vertical lines.
3389 ** on the current display.
3391 #define MUIMRI_RECTFILL (1<<0)
3394 ** If mri_Flags & MUIMRI_TRUECOLOR, display environment is a
3395 ** cybergraphics emulated hicolor or true color display.
3397 #define MUIMRI_TRUECOLOR (1<<1)
3400 ** If mri_Flags & MUIMRI_THINFRAMES, MUI uses thin frames
3401 ** (1:1) apsect ratio instead of standard 2:1 frames.
3403 #define MUIMRI_THINFRAMES (1<<2)
3406 ** If mri_Flags & MUIMRI_REFRESHMODE, MUI is currently
3407 ** refreshing a WFLG_SIMPLEREFRESH window and is inbetween
3408 ** a BeginRefresh()/EndRefresh() pair.
3410 #define MUIMRI_REFRESHMODE (1<<3)
3413 ** If mri_Flags & MUIMRI_PLANAR, display environment is an
3414 ** old-style planar display.
3416 #define MUIMRI_PLANAR (1<<4)
3418 /* the following macros can be used to get pointers to an objects
3419 GlobalInfo and RenderInfo structures. */
3421 struct __dummyXFC2__
3423 struct MUI_NotifyData mnd;
3424 struct MUI_AreaData mad;
3427 #define muiNotifyData(obj) (&(((struct __dummyXFC2__ *)(obj))->mnd))
3428 #define muiAreaData(obj) (&(((struct __dummyXFC2__ *)(obj))->mad))
3430 #define muiGlobalInfo(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_GlobalInfo)
3431 #define muiUserData(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_UserData)
3432 #define muiRenderInfo(obj) (((struct __dummyXFC2__ *)(obj))->mad.mad_RenderInfo)
3436 /* User configurable keyboard events coming with MUIM_HandleInput */
3438 enum
3440 MUIKEY_RELEASE = -2, /* not a real key, faked when MUIKEY_PRESS is released */
3441 MUIKEY_NONE = -1,
3442 MUIKEY_PRESS,
3443 MUIKEY_TOGGLE,
3444 MUIKEY_UP,
3445 MUIKEY_DOWN,
3446 MUIKEY_PAGEUP,
3447 MUIKEY_PAGEDOWN,
3448 MUIKEY_TOP,
3449 MUIKEY_BOTTOM,
3450 MUIKEY_LEFT,
3451 MUIKEY_RIGHT,
3452 MUIKEY_WORDLEFT,
3453 MUIKEY_WORDRIGHT,
3454 MUIKEY_LINESTART,
3455 MUIKEY_LINEEND,
3456 MUIKEY_GADGET_NEXT,
3457 MUIKEY_GADGET_PREV,
3458 MUIKEY_GADGET_OFF,
3459 MUIKEY_WINDOW_CLOSE,
3460 MUIKEY_WINDOW_NEXT,
3461 MUIKEY_WINDOW_PREV,
3462 MUIKEY_HELP,
3463 MUIKEY_POPUP,
3464 MUIKEY_PRESS2,
3465 MUIKEY_COUNT /* counter */
3468 #define MUIKEYF_PRESS (1<<MUIKEY_PRESS)
3469 #define MUIKEYF_TOGGLE (1<<MUIKEY_TOGGLE)
3470 #define MUIKEYF_UP (1<<MUIKEY_UP)
3471 #define MUIKEYF_DOWN (1<<MUIKEY_DOWN)
3472 #define MUIKEYF_PAGEUP (1<<MUIKEY_PAGEUP)
3473 #define MUIKEYF_PAGEDOWN (1<<MUIKEY_PAGEDOWN)
3474 #define MUIKEYF_TOP (1<<MUIKEY_TOP)
3475 #define MUIKEYF_BOTTOM (1<<MUIKEY_BOTTOM)
3476 #define MUIKEYF_LEFT (1<<MUIKEY_LEFT)
3477 #define MUIKEYF_RIGHT (1<<MUIKEY_RIGHT)
3478 #define MUIKEYF_WORDLEFT (1<<MUIKEY_WORDLEFT)
3479 #define MUIKEYF_WORDRIGHT (1<<MUIKEY_WORDRIGHT)
3480 #define MUIKEYF_LINESTART (1<<MUIKEY_LINESTART)
3481 #define MUIKEYF_LINEEND (1<<MUIKEY_LINEEND)
3482 #define MUIKEYF_GADGET_NEXT (1<<MUIKEY_GADGET_NEXT)
3483 #define MUIKEYF_GADGET_PREV (1<<MUIKEY_GADGET_PREV)
3484 #define MUIKEYF_GADGET_OFF (1<<MUIKEY_GADGET_OFF)
3485 #define MUIKEYF_WINDOW_CLOSE (1<<MUIKEY_WINDOW_CLOSE)
3486 #define MUIKEYF_WINDOW_NEXT (1<<MUIKEY_WINDOW_NEXT)
3487 #define MUIKEYF_WINDOW_PREV (1<<MUIKEY_WINDOW_PREV)
3488 #define MUIKEYF_HELP (1<<MUIKEY_HELP)
3489 #define MUIKEYF_POPUP (1<<MUIKEY_POPUP)
3490 #define MUIKEYF_PRESS2 (1<<MUIKEY_PRESS2)
3493 /* Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them */
3494 /* NOTE: These macros may only be used in custom classes and are */
3495 /* only valid if your class is inbetween the specified methods! */
3497 #ifndef MUI_NOSHORTCUTS
3499 #define _app(obj) (muiGlobalInfo(obj)->mgi_ApplicationObject) /* valid between MUIM_Setup/Cleanup */
3500 #define _win(obj) (muiRenderInfo(obj)->mri_WindowObject) /* valid between MUIM_Setup/Cleanup */
3501 #define _dri(obj) (muiRenderInfo(obj)->mri_DrawInfo) /* valid between MUIM_Setup/Cleanup */
3502 #define _screen(obj) (muiRenderInfo(obj)->mri_Screen) /* valid between MUIM_Setup/Cleanup */
3503 #define _pens(obj) (muiRenderInfo(obj)->mri_Pens) /* valid between MUIM_Setup/Cleanup */
3504 #define _window(obj) (muiRenderInfo(obj)->mri_Window) /* valid between MUIM_Show/Hide */
3505 #define _rp(obj) (muiRenderInfo(obj)->mri_RastPort) /* valid between MUIM_Show/Hide */
3506 #define _left(obj) (muiAreaData(obj)->mad_Box.Left) /* valid during MUIM_Draw */
3507 #define _top(obj) (muiAreaData(obj)->mad_Box.Top) /* valid during MUIM_Draw */
3508 #define _width(obj) (muiAreaData(obj)->mad_Box.Width) /* valid during MUIM_Draw */
3509 #define _height(obj) (muiAreaData(obj)->mad_Box.Height) /* valid during MUIM_Draw */
3510 #define _right(obj) (_left(obj)+_width(obj)-1) /* valid during MUIM_Draw */
3511 #define _bottom(obj) (_top(obj)+_height(obj)-1) /* valid during MUIM_Draw */
3512 #define _addleft(obj) (muiAreaData(obj)->mad_addleft ) /* valid during MUIM_Draw */
3513 #define _addtop(obj) (muiAreaData(obj)->mad_addtop ) /* valid during MUIM_Draw */
3514 #define _subwidth(obj) (muiAreaData(obj)->mad_subwidth ) /* valid during MUIM_Draw */
3515 #define _subheight(obj) (muiAreaData(obj)->mad_subheight) /* valid during MUIM_Draw */
3516 #define _mleft(obj) (_left(obj)+_addleft(obj)) /* valid during MUIM_Draw */
3517 #define _mtop(obj) (_top(obj)+_addtop(obj)) /* valid during MUIM_Draw */
3518 #define _mwidth(obj) (_width(obj)-_subwidth(obj)) /* valid during MUIM_Draw */
3519 #define _mheight(obj) (_height(obj)-_subheight(obj)) /* valid during MUIM_Draw */
3520 #define _mright(obj) (_mleft(obj)+_mwidth(obj)-1) /* valid during MUIM_Draw */
3521 #define _mbottom(obj) (_mtop(obj)+_mheight(obj)-1) /* valid during MUIM_Draw */
3522 #define _font(obj) (muiAreaData(obj)->mad_Font) /* valid between MUIM_Setup/Cleanup */
3523 #define _minwidth(obj) (muiAreaData(obj)->mad_MinMax.MinWidth) /* valid between MUIM_Show/Hide */
3524 #define _minheight(obj) (muiAreaData(obj)->mad_MinMax.MinHeight) /* valid between MUIM_Show/Hide */
3525 #define _maxwidth(obj) (muiAreaData(obj)->mad_MinMax.MaxWidth) /* valid between MUIM_Show/Hide */
3526 #define _maxheight(obj) (muiAreaData(obj)->mad_MinMax.MaxHeight) /* valid between MUIM_Show/Hide */
3527 #define _defwidth(obj) (muiAreaData(obj)->mad_MinMax.DefWidth) /* valid between MUIM_Show/Hide */
3528 #define _defheight(obj) (muiAreaData(obj)->mad_MinMax.DefHeight) /* valid between MUIM_Show/Hide */
3529 #define _flags(obj) (muiAreaData(obj)->mad_Flags)
3531 #endif
3533 /* MUI_CustomClass returned by MUI_CreateCustomClass() */
3535 struct MUI_CustomClass
3537 APTR mcc_UserData; /* use for whatever you want */
3539 struct Library *mcc_UtilityBase; /* MUI has opened these libraries */
3540 struct Library *mcc_DOSBase; /* for you automatically. You can */
3541 struct Library *mcc_GfxBase; /* use them or decide to open */
3542 struct Library *mcc_IntuitionBase; /* your libraries yourself. */
3544 struct IClass *mcc_Super; /* pointer to super class */
3545 struct IClass *mcc_Class; /* pointer to the new class */
3547 /* ... private data follows ... */
3551 #if defined(__PPC__)
3552 #if defined(__GNUC__)
3553 #pragma pack()
3554 #elif defined(__VBCC__)
3555 #pragma default-align
3556 #endif
3557 #endif
3559 #endif /* MUI_H */
3561 #endif /* __AROS__ */