Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / libs / codesets / include / libraries / mui.h
bloba016a561b466250e7604c85e7ada08fe1d62fd80
1 #ifdef __AROS__
2 #error AROS requires that you include the system libraries
3 #endif
4 /***************************************************************************
5 **
6 ** MUI - MagicUserInterface
7 ** (c) 1993-1997 Stefan Stuntz
8 **
9 ** Main Header File
11 ****************************************************************************
12 ** Class Tree
13 ****************************************************************************
15 ** rootclass (BOOPSI's base class)
16 ** +--Notify (implements notification mechanism)
17 ** ! +--Family (handles multiple children)
18 ** ! ! +--Menustrip (describes a complete menu strip)
19 ** ! ! +--Menu (describes a single menu)
20 ** ! ! \--Menuitem (describes a single menu item)
21 ** ! +--Application (main class for all applications)
22 ** ! +--Window (main class for all windows)
23 ** ! ! \--Aboutmui (About window of MUI preferences)
24 ** ! +--Area (base class for all GUI elements)
25 ** ! +--Rectangle (spacing object)
26 ** ! +--Balance (balancing separator bar)
27 ** ! +--Image (image display)
28 ** ! +--Bitmap (draws bitmaps)
29 ** ! ! \--Bodychunk (makes bitmap from ILBM body chunk)
30 ** ! +--Text (text display)
31 ** ! +--Gadget (base class for intuition gadgets)
32 ** ! ! +--String (string gadget)
33 ** ! ! +--Boopsi (interface to BOOPSI gadgets)
34 ** ! ! \--Prop (proportional gadget)
35 ** ! +--Gauge (fule gauge)
36 ** ! +--Scale (percentage scale)
37 ** ! +--Colorfield (field with changeable color)
38 ** ! +--List (line-oriented list)
39 ** ! ! +--Floattext (special list with floating text)
40 ** ! ! +--Volumelist (special list with volumes)
41 ** ! ! +--Scrmodelist (special list with screen modes)
42 ** ! ! \--Dirlist (special list with files)
43 ** ! +--Numeric (base class for slider gadgets)
44 ** ! ! +--Knob (turning knob)
45 ** ! ! +--Levelmeter (level display)
46 ** ! ! +--Numericbutton (space saving popup slider)
47 ** ! ! \--Slider (traditional slider)
48 ** ! +--Framedisplay (private)
49 ** ! ! \--Popframe (private)
50 ** ! +--Imagedisplay (private)
51 ** ! ! \--Popimage (private)
52 ** ! +--Pendisplay (displays a pen specification)
53 ** ! ! \--Poppen (popup button to adjust a pen spec)
54 ** ! +--Group (groups other GUI elements)
55 ** ! +--Mccprefs (private)
56 ** ! +--Register (handles page groups with titles)
57 ** ! ! \--Penadjust (group to adjust a pen)
58 ** ! +--Settingsgroup (private)
59 ** ! +--Settings (private)
60 ** ! +--Frameadjust (private)
61 ** ! +--Imageadjust (private)
62 ** ! +--Virtgroup (handles virtual groups)
63 ** ! +--Scrollgroup (virtual groups with scrollbars)
64 ** ! +--Scrollbar (traditional scrollbar)
65 ** ! +--Listview (listview)
66 ** ! +--Radio (radio button)
67 ** ! +--Cycle (cycle gadget)
68 ** ! +--Coloradjust (several gadgets to adjust a color)
69 ** ! +--Palette (complete palette gadget)
70 ** ! +--Popstring (base class for popup objects)
71 ** ! +--Popobject (popup aynthing in a separate window)
72 ** ! ! +--Poplist (popup a simple listview)
73 ** ! ! \--Popscreen (popup a list of public screens)
74 ** ! \--Popasl (popup an asl requester)
75 ** +--Semaphore (semaphore equipped objects)
76 ** +--Applist (private)
77 ** +--Dataspace (handles general purpose data spaces)
78 ** \--Configdata (private)
80 ****************************************************************************
81 ** General Header File Information
82 ****************************************************************************
84 ** All macro and structure definitions follow these rules:
86 ** Name Meaning
88 ** MUIC_<class> Name of a class
89 ** MUIM_<class>_<method> Method
90 ** MUIP_<class>_<method> Methods parameter structure
91 ** MUIV_<class>_<method>_<x> Special method value
92 ** MUIA_<class>_<attrib> Attribute
93 ** MUIV_<class>_<attrib>_<x> Special attribute value
94 ** MUIE_<error> Error return code from MUI_Error()
95 ** MUII_<name> Standard MUI image
96 ** MUIX_<code> Control codes for text strings
97 ** MUIO_<name> Object type for MUI_MakeObject()
99 ** MUIA_... attribute definitions are followed by a comment
100 ** consisting of the three possible letters I, S and G.
101 ** I: it's possible to specify this attribute at object creation time.
102 ** S: it's possible to change this attribute with SetAttrs().
103 ** G: it's possible to get this attribute with GetAttr().
105 ** Items marked with "Custom Class" are for use in custom classes only!
109 #ifndef LIBRARIES_MUI_H
110 #define LIBRARIES_MUI_H
112 #ifndef EXEC_TYPES_H
113 #include <exec/types.h>
114 #endif
116 #ifndef DOS_DOS_H
117 #include <dos/dos.h>
118 #endif
120 #ifndef INTUITION_CLASSES_H
121 #include <intuition/classes.h>
122 #endif
124 #ifndef INTUITION_SCREENS_H
125 #include <intuition/screens.h>
126 #endif
128 #ifndef PROTO_INTUITION_H
129 #include <proto/intuition.h>
130 #endif
132 #ifdef __GNUC__
133 #ifdef __PPC__
134 #pragma pack(2)
135 #endif
136 #elif defined(__VBCC__)
137 #pragma amiga-align
138 #endif
141 /***************************************************************************
142 ** Library specification
143 ***************************************************************************/
145 #define MUIMASTER_NAME "muimaster.library"
146 #define MUIMASTER_VMIN 11
147 #define MUIMASTER_VLATEST 19
150 ** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
151 ** Warning, some of the macros in this header file work only with
152 ** muimaster.library V11 and above. If you recompile your programs,
153 ** be sure to open muimaster.library with MUIMASTER_VMIN as version number.
154 ** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
158 /* comment this if you dont want to include obsolete identifiers */
160 #define MUI_OBSOLETE
164 /*************************************************************************
165 ** Config items for MUIM_GetConfigItem
166 *************************************************************************/
169 #define MUICFG_PublicScreen 36
174 /*************************************************************************
175 ** Black box specification structures for images, pens, frames
176 *************************************************************************/
178 struct MUI_PenSpec
180 char buf[32];
185 /*************************************************************************
186 ** Public Screen Stuff
187 *************************************************************************/
190 ** NOTE: This stuff is only included to allow compilation of the supplied
191 ** public screen manager for educational purposes. Everything
192 ** here is subject to change without notice and I guarantee to
193 ** do that just for fun!
194 ** More info can be found in the screen manager source file.
197 #define PSD_INITIAL_NAME "(unnamed)"
198 #define PSD_INITIAL_TITLE "MUI Public Screen"
199 #define PSD_ID_MPUB MAKE_ID('M','P','U','B')
201 #define PSD_NAME_FRONTMOST "«Frontmost»"
203 #define PSD_FILENAME_SAVE "envarc:mui/PublicScreens.iff"
204 #define PSD_FILENAME_USE "env:mui/PublicScreens.iff"
206 #define PSD_MAXLEN_NAME 32
207 #define PSD_MAXLEN_TITLE 128
208 #define PSD_MAXLEN_FONT 48
209 #define PSD_MAXLEN_BACKGROUND 256
210 #define PSD_NUMCOLS 8
211 #define PSD_MAXSYSPENS 20
212 #define PSD_NUMSYSPENS 12
213 #define PSD_MAXMUIPENS 10
214 #define PSD_NUMMUIPENS MPEN_COUNT
216 struct MUI_RGBcolor
218 ULONG red;
219 ULONG green;
220 ULONG blue;
223 struct MUI_PubScreenDesc
225 LONG Version;
227 char Name[PSD_MAXLEN_NAME];
228 char Title[PSD_MAXLEN_TITLE];
229 char Font[PSD_MAXLEN_FONT];
230 char Background[PSD_MAXLEN_BACKGROUND];
232 ULONG DisplayID;
234 UWORD DisplayWidth;
235 UWORD DisplayHeight;
237 UBYTE DisplayDepth;
238 UBYTE OverscanType;
239 UBYTE AutoScroll;
240 UBYTE NoDrag;
241 UBYTE Exclusive;
242 UBYTE Interleaved;
243 UBYTE SysDefault;
244 UBYTE Behind;
245 UBYTE AutoClose;
246 UBYTE CloseGadget;
247 UBYTE DummyWasForeign;
249 BYTE SystemPens[PSD_MAXSYSPENS];
250 UBYTE Reserved[1+7*4-PSD_MAXSYSPENS];
252 struct MUI_RGBcolor Palette[PSD_NUMCOLS];
253 struct MUI_RGBcolor rsvd[PSD_MAXSYSPENS-PSD_NUMCOLS];
255 struct MUI_PenSpec rsvd2[PSD_MAXMUIPENS];
257 LONG Changed;
258 APTR UserData;
261 struct MUIS_InfoClient
263 struct MinNode node;
264 struct Task *task;
265 ULONG sigbit;
269 /***************************************************************************
270 ** Object Types for MUI_MakeObject()
271 ***************************************************************************/
273 #define MUIO_Label 1 /* STRPTR label, ULONG flags */
274 #define MUIO_Button 2 /* STRPTR label */
275 #define MUIO_Checkmark 3 /* STRPTR label */
276 #define MUIO_Cycle 4 /* STRPTR label, STRPTR *entries */
277 #define MUIO_Radio 5 /* STRPTR label, STRPTR *entries */
278 #define MUIO_Slider 6 /* STRPTR label, LONG min, LONG max */
279 #define MUIO_String 7 /* STRPTR label, LONG maxlen */
280 #define MUIO_PopButton 8 /* STRPTR imagespec */
281 #define MUIO_HSpace 9 /* LONG space */
282 #define MUIO_VSpace 10 /* LONG space */
283 #define MUIO_HBar 11 /* LONG space */
284 #define MUIO_VBar 12 /* LONG space */
285 #define MUIO_MenustripNM 13 /* struct NewMenu *nm, ULONG flags */
286 #define MUIO_Menuitem 14 /* STRPTR label, STRPTR shortcut, ULONG flags, ULONG data */
287 #define MUIO_BarTitle 15 /* STRPTR label */
288 #define MUIO_NumericButton 16 /* STRPTR label, LONG min, LONG max, STRPTR format */
290 #define MUIO_Menuitem_CopyStrings (1<<30)
292 #define MUIO_Label_SingleFrame (1<< 8)
293 #define MUIO_Label_DoubleFrame (1<< 9)
294 #define MUIO_Label_LeftAligned (1<<10)
295 #define MUIO_Label_Centered (1<<11)
296 #define MUIO_Label_FreeVert (1<<12)
298 #define MUIO_MenustripNM_CommandKeyCheck (1<<0) /* check for "localized" menu items such as "O\0Open" */
302 /***************************************************************************
303 ** ARexx Interface
304 ***************************************************************************/
306 struct MUI_Command
308 char *mc_Name;
309 char *mc_Template;
310 LONG mc_Parameters;
311 struct Hook *mc_Hook;
312 LONG mc_Reserved[5];
315 #define MC_TEMPLATE_ID ((STRPTR)~0)
317 #define MUI_RXERR_BADDEFINITION -1
318 #define MUI_RXERR_OUTOFMEMORY -2
319 #define MUI_RXERR_UNKNOWNCOMMAND -3
320 #define MUI_RXERR_BADSYNTAX -4
323 /***************************************************************************
324 ** Return values for MUI_Error()
325 ***************************************************************************/
327 #define MUIE_OK 0
328 #define MUIE_OutOfMemory 1
329 #define MUIE_OutOfGfxMemory 2
330 #define MUIE_InvalidWindowObject 3
331 #define MUIE_MissingLibrary 4
332 #define MUIE_NoARexx 5
333 #define MUIE_SingleTask 6
337 /***************************************************************************
338 ** Standard MUI Images & Backgrounds
339 ***************************************************************************/
341 #define MUII_WindowBack 0 /* These images are configured */
342 #define MUII_RequesterBack 1 /* with the preferences program. */
343 #define MUII_ButtonBack 2
344 #define MUII_ListBack 3
345 #define MUII_TextBack 4
346 #define MUII_PropBack 5
347 #define MUII_PopupBack 6
348 #define MUII_SelectedBack 7
349 #define MUII_ListCursor 8
350 #define MUII_ListSelect 9
351 #define MUII_ListSelCur 10
352 #define MUII_ArrowUp 11
353 #define MUII_ArrowDown 12
354 #define MUII_ArrowLeft 13
355 #define MUII_ArrowRight 14
356 #define MUII_CheckMark 15
357 #define MUII_RadioButton 16
358 #define MUII_Cycle 17
359 #define MUII_PopUp 18
360 #define MUII_PopFile 19
361 #define MUII_PopDrawer 20
362 #define MUII_PropKnob 21
363 #define MUII_Drawer 22
364 #define MUII_HardDisk 23
365 #define MUII_Disk 24
366 #define MUII_Chip 25
367 #define MUII_Volume 26
368 #define MUII_RegisterBack 27
369 #define MUII_Network 28
370 #define MUII_Assign 29
371 #define MUII_TapePlay 30
372 #define MUII_TapePlayBack 31
373 #define MUII_TapePause 32
374 #define MUII_TapeStop 33
375 #define MUII_TapeRecord 34
376 #define MUII_GroupBack 35
377 #define MUII_SliderBack 36
378 #define MUII_SliderKnob 37
379 #define MUII_TapeUp 38
380 #define MUII_TapeDown 39
381 #define MUII_PageBack 40
382 #define MUII_ReadListBack 41
383 #define MUII_Count 42
385 #define MUII_BACKGROUND 128 /* These are direct color */
386 #define MUII_SHADOW 129 /* combinations and are not */
387 #define MUII_SHINE 130 /* affected by users prefs. */
388 #define MUII_FILL 131
389 #define MUII_SHADOWBACK 132 /* Generally, you should */
390 #define MUII_SHADOWFILL 133 /* avoid using them. Better */
391 #define MUII_SHADOWSHINE 134 /* use one of the customized */
392 #define MUII_FILLBACK 135 /* images above. */
393 #define MUII_FILLSHINE 136
394 #define MUII_SHINEBACK 137
395 #define MUII_FILLBACK2 138
396 #define MUII_HSHINEBACK 139
397 #define MUII_HSHADOWBACK 140
398 #define MUII_HSHINESHINE 141
399 #define MUII_HSHADOWSHADOW 142
400 #define MUII_MARKSHINE 143
401 #define MUII_MARKHALFSHINE 144
402 #define MUII_MARKBACKGROUND 145
403 #define MUII_LASTPAT 145
407 /***************************************************************************
408 ** Special values for some methods
409 ***************************************************************************/
411 #define MUIV_TriggerValue 0x49893131
412 #define MUIV_NotTriggerValue 0x49893133
413 #define MUIV_EveryTime 0x49893131
415 #define MUIV_Notify_Self 1
416 #define MUIV_Notify_Window 2
417 #define MUIV_Notify_Application 3
418 #define MUIV_Notify_Parent 4
420 #define MUIV_Application_Save_ENV ((STRPTR) 0)
421 #define MUIV_Application_Save_ENVARC ((STRPTR)~0)
422 #define MUIV_Application_Load_ENV ((STRPTR) 0)
423 #define MUIV_Application_Load_ENVARC ((STRPTR)~0)
425 #define MUIV_Application_ReturnID_Quit -1
427 #define MUIV_List_Insert_Top 0
428 #define MUIV_List_Insert_Active -1
429 #define MUIV_List_Insert_Sorted -2
430 #define MUIV_List_Insert_Bottom -3
432 #define MUIV_List_Remove_First 0
433 #define MUIV_List_Remove_Active -1
434 #define MUIV_List_Remove_Last -2
435 #define MUIV_List_Remove_Selected -3
437 #define MUIV_List_Select_Off 0
438 #define MUIV_List_Select_On 1
439 #define MUIV_List_Select_Toggle 2
440 #define MUIV_List_Select_Ask 3
442 #define MUIV_List_GetEntry_Active -1
443 #define MUIV_List_Select_Active -1
444 #define MUIV_List_Select_All -2
446 #define MUIV_List_Redraw_Active -1
447 #define MUIV_List_Redraw_All -2
449 #define MUIV_List_Move_Top 0
450 #define MUIV_List_Move_Active -1
451 #define MUIV_List_Move_Bottom -2
452 #define MUIV_List_Move_Next -3 /* only valid for second parameter */
453 #define MUIV_List_Move_Previous -4 /* only valid for second parameter */
455 #define MUIV_List_Exchange_Top 0
456 #define MUIV_List_Exchange_Active -1
457 #define MUIV_List_Exchange_Bottom -2
458 #define MUIV_List_Exchange_Next -3 /* only valid for second parameter */
459 #define MUIV_List_Exchange_Previous -4 /* only valid for second parameter */
461 #define MUIV_List_Jump_Top 0
462 #define MUIV_List_Jump_Active -1
463 #define MUIV_List_Jump_Bottom -2
464 #define MUIV_List_Jump_Up -4
465 #define MUIV_List_Jump_Down -3
467 #define MUIV_List_NextSelected_Start -1
468 #define MUIV_List_NextSelected_End -1
470 #define MUIV_DragQuery_Refuse 0
471 #define MUIV_DragQuery_Accept 1
473 #define MUIV_DragReport_Abort 0
474 #define MUIV_DragReport_Continue 1
475 #define MUIV_DragReport_Lock 2
476 #define MUIV_DragReport_Refresh 3
481 /***************************************************************************
482 ** Control codes for text strings
483 ***************************************************************************/
485 #define MUIX_R "\033r" /* right justified */
486 #define MUIX_C "\033c" /* centered */
487 #define MUIX_L "\033l" /* left justified */
489 #define MUIX_N "\033n" /* normal */
490 #define MUIX_B "\033b" /* bold */
491 #define MUIX_I "\033i" /* italic */
492 #define MUIX_U "\033u" /* underlined */
494 #define MUIX_PT "\0332" /* text pen */
495 #define MUIX_PH "\0338" /* highlight text pen */
499 /***************************************************************************
500 ** Parameter structures for some classes
501 ***************************************************************************/
503 struct MUI_Palette_Entry
505 LONG mpe_ID;
506 ULONG mpe_Red;
507 ULONG mpe_Green;
508 ULONG mpe_Blue;
509 LONG mpe_Group;
512 #define MUIV_Palette_Entry_End -1
515 /*****************************/
516 /* Application Input Handler */
517 /*****************************/
519 struct MUI_InputHandlerNode
521 struct MinNode ihn_Node;
522 Object *ihn_Object;
524 union
526 ULONG ihn_sigs;
527 struct
529 UWORD ihn_millis;
530 UWORD ihn_current;
531 } ihn_timer;
533 ihn_stuff;
535 ULONG ihn_Flags; /* see below */
536 ULONG ihn_Method;
539 #define ihn_Signals ihn_stuff.ihn_sigs
540 #define ihn_Millis ihn_stuff.ihn_timer.ihn_millis
541 #define ihn_Current ihn_stuff.ihn_timer.ihn_current
543 /* Flags for ihn_Flags */
544 #define MUIIHNF_TIMER (1<<0) /* set ihn_Ticks to number of 1/100 sec ticks you want to be triggered */
547 /************************/
548 /* Window Event Handler */
549 /************************/
551 struct MUI_EventHandlerNode
553 struct MinNode ehn_Node;
554 BYTE ehn_Reserved; /* don't touch! */
555 BYTE ehn_Priority; /* event handlers are inserted according to their priority. */
556 UWORD ehn_Flags; /* certain flags, see below for definitions. */
557 Object *ehn_Object; /* object which should receive MUIM_HandleEvent. */
558 struct IClass *ehn_Class; /* if !=NULL, MUIM_HandleEvent is invoked on exactly this class with CoerceMethod(). */
559 ULONG ehn_Events; /* one or more IDCMP flags this handler should react on. */
562 /* flags for ehn_Flags */
563 #define MUI_EHF_ALWAYSKEYS (1<<0)
565 /* other values reserved for future use */
567 /* return values for MUIM_HandleEvent (bit-masked, all other bits must be 0) */
568 #define MUI_EventHandlerRC_Eat (1<<0) /* stop MUI from calling other handlers */
571 /**********************/
572 /* List Position Test */
573 /**********************/
575 struct MUI_List_TestPos_Result
577 LONG entry; /* number of entry, -1 if mouse not over valid entry */
578 WORD column; /* numer of column, -1 if no valid column */
579 UWORD flags; /* see below */
580 WORD xoffset; /* x offset of mouse click relative to column start */
581 WORD yoffset; /* y offset of mouse click from center of line
582 (negative values mean click was above center,
583 positive values mean click was below center) */
586 #define MUI_LPR_ABOVE (1<<0)
587 #define MUI_LPR_BELOW (1<<1)
588 #define MUI_LPR_LEFT (1<<2)
589 #define MUI_LPR_RIGHT (1<<3)
592 /***************************************************************************
594 ** Macro Section
595 ** -------------
597 ** To make GUI creation more easy and understandable, you can use the
598 ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
599 ** them.
601 ** These macros are available to C programmers only.
603 ***************************************************************************/
605 #ifndef MUI_NOSHORTCUTS
609 /***************************************************************************
611 ** Object Generation
612 ** -----------------
614 ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
615 ** Every xxxObject can be followed by tagitems specifying initial create
616 ** time attributes for the new object and must be terminated with the
617 ** End macro:
619 ** obj = StringObject,
620 ** MUIA_String_Contents, "foo",
621 ** MUIA_String_MaxLen , 40,
622 ** End;
624 ** With the Child, SubWindow and WindowContents shortcuts you can
625 ** construct a complete GUI within one command:
627 ** app = ApplicationObject,
629 ** ...
631 ** SubWindow, WindowObject,
632 ** WindowContents, VGroup,
633 ** Child, String("foo",40),
634 ** Child, String("bar",50),
635 ** Child, HGroup,
636 ** Child, CheckMark(TRUE),
637 ** Child, CheckMark(FALSE),
638 ** End,
639 ** End,
640 ** End,
642 ** SubWindow, WindowObject,
643 ** WindowContents, HGroup,
644 ** Child, ...,
645 ** Child, ...,
646 ** End,
647 ** End,
649 ** ...
651 ** End;
653 ***************************************************************************/
655 #define MenustripObject MUI_NewObject(MUIC_Menustrip
656 #define MenuObject MUI_NewObject(MUIC_Menu
657 #define MenuObjectT(name) MUI_NewObject(MUIC_Menu,MUIA_Menu_Title,name
658 #define MenuitemObject MUI_NewObject(MUIC_Menuitem
659 #define WindowObject MUI_NewObject(MUIC_Window
660 #define ImageObject MUI_NewObject(MUIC_Image
661 #define BitmapObject MUI_NewObject(MUIC_Bitmap
662 #define BodychunkObject MUI_NewObject(MUIC_Bodychunk
663 #define NotifyObject MUI_NewObject(MUIC_Notify
664 #define ApplicationObject MUI_NewObject(MUIC_Application
665 #define TextObject MUI_NewObject(MUIC_Text
666 #define RectangleObject MUI_NewObject(MUIC_Rectangle
667 #define BalanceObject MUI_NewObject(MUIC_Balance
668 #define ListObject MUI_NewObject(MUIC_List
669 #define PropObject MUI_NewObject(MUIC_Prop
670 #define StringObject MUI_NewObject(MUIC_String
671 #define ScrollbarObject MUI_NewObject(MUIC_Scrollbar
672 #define ListviewObject MUI_NewObject(MUIC_Listview
673 #define RadioObject MUI_NewObject(MUIC_Radio
674 #define VolumelistObject MUI_NewObject(MUIC_Volumelist
675 #define FloattextObject MUI_NewObject(MUIC_Floattext
676 #define DirlistObject MUI_NewObject(MUIC_Dirlist
677 #define CycleObject MUI_NewObject(MUIC_Cycle
678 #define GaugeObject MUI_NewObject(MUIC_Gauge
679 #define ScaleObject MUI_NewObject(MUIC_Scale
680 #define NumericObject MUI_NewObject(MUIC_Numeric
681 #define SliderObject MUI_NewObject(MUIC_Slider
682 #define NumericbuttonObject MUI_NewObject(MUIC_Numericbutton
683 #define KnobObject MUI_NewObject(MUIC_Knob
684 #define LevelmeterObject MUI_NewObject(MUIC_Levelmeter
685 #define BoopsiObject MUI_NewObject(MUIC_Boopsi
686 #define ColorfieldObject MUI_NewObject(MUIC_Colorfield
687 #define PenadjustObject MUI_NewObject(MUIC_Penadjust
688 #define ColoradjustObject MUI_NewObject(MUIC_Coloradjust
689 #define PaletteObject MUI_NewObject(MUIC_Palette
690 #define GroupObject MUI_NewObject(MUIC_Group
691 #define RegisterObject MUI_NewObject(MUIC_Register
692 #define VirtgroupObject MUI_NewObject(MUIC_Virtgroup
693 #define ScrollgroupObject MUI_NewObject(MUIC_Scrollgroup
694 #define PopstringObject MUI_NewObject(MUIC_Popstring
695 #define PopobjectObject MUI_NewObject(MUIC_Popobject
696 #define PoplistObject MUI_NewObject(MUIC_Poplist
697 #define PopaslObject MUI_NewObject(MUIC_Popasl
698 #define PendisplayObject MUI_NewObject(MUIC_Pendisplay
699 #define PoppenObject MUI_NewObject(MUIC_Poppen
700 #define AboutmuiObject MUI_NewObject(MUIC_Aboutmui
701 #define ScrmodelistObject MUI_NewObject(MUIC_Scrmodelist
702 #define KeyentryObject MUI_NewObject(MUIC_Keyentry
703 #define VGroup MUI_NewObject(MUIC_Group
704 #define HGroup MUI_NewObject(MUIC_Group,MUIA_Group_Horiz,TRUE
705 #define ColGroup(cols) MUI_NewObject(MUIC_Group,MUIA_Group_Columns,(cols)
706 #define RowGroup(rows) MUI_NewObject(MUIC_Group,MUIA_Group_Rows ,(rows)
707 #define PageGroup MUI_NewObject(MUIC_Group,MUIA_Group_PageMode,TRUE
708 #define VGroupV MUI_NewObject(MUIC_Virtgroup
709 #define HGroupV MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Horiz,TRUE
710 #define ColGroupV(cols) MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Columns,(cols)
711 #define RowGroupV(rows) MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Rows ,(rows)
712 #define PageGroupV MUI_NewObject(MUIC_Virtgroup,MUIA_Group_PageMode,TRUE
713 #define RegisterGroup(t) MUI_NewObject(MUIC_Register,MUIA_Register_Titles,(t)
714 #define End TAG_DONE)
716 #define Child MUIA_Group_Child
717 #define SubWindow MUIA_Application_Window
718 #define WindowContents MUIA_Window_RootObject
722 /***************************************************************************
724 ** Frame Types
725 ** -----------
727 ** These macros may be used to specify one of MUI's different frame types.
728 ** Note that every macro consists of one { ti_Tag, ti_Data } pair.
730 ** GroupFrameT() is a special kind of frame that contains a centered
731 ** title text.
733 ** HGroup, GroupFrameT("Horiz Groups"),
734 ** Child, RectangleObject, TextFrame , End,
735 ** Child, RectangleObject, StringFrame, End,
736 ** Child, RectangleObject, ButtonFrame, End,
737 ** Child, RectangleObject, ListFrame , End,
738 ** End,
740 ***************************************************************************/
742 #define NoFrame MUIA_Frame, MUIV_Frame_None
743 #define ButtonFrame MUIA_Frame, MUIV_Frame_Button
744 #define ImageButtonFrame MUIA_Frame, MUIV_Frame_ImageButton
745 #define TextFrame MUIA_Frame, MUIV_Frame_Text
746 #define StringFrame MUIA_Frame, MUIV_Frame_String
747 #define ReadListFrame MUIA_Frame, MUIV_Frame_ReadList
748 #define InputListFrame MUIA_Frame, MUIV_Frame_InputList
749 #define PropFrame MUIA_Frame, MUIV_Frame_Prop
750 #define SliderFrame MUIA_Frame, MUIV_Frame_Slider
751 #define GaugeFrame MUIA_Frame, MUIV_Frame_Gauge
752 #define VirtualFrame MUIA_Frame, MUIV_Frame_Virtual
753 #define GroupFrame MUIA_Frame, MUIV_Frame_Group
754 #define GroupFrameT(s) MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, s, MUIA_Background, MUII_GroupBack
758 /***************************************************************************
760 ** Spacing Macros
761 ** --------------
763 ***************************************************************************/
765 #define HVSpace MUI_NewObject(MUIC_Rectangle,TAG_DONE)
766 #define HSpace(x) MUI_MakeObject(MUIO_HSpace,x)
767 #define VSpace(x) MUI_MakeObject(MUIO_VSpace,x)
768 #define HCenter(obj) (HGroup, GroupSpacing(0), Child, HSpace(0), Child, (obj), Child, HSpace(0), End)
769 #define VCenter(obj) (VGroup, GroupSpacing(0), Child, VSpace(0), Child, (obj), Child, VSpace(0), End)
770 #define InnerSpacing(h,v) MUIA_InnerLeft,(h),MUIA_InnerRight,(h),MUIA_InnerTop,(v),MUIA_InnerBottom,(v)
771 #define GroupSpacing(x) MUIA_Group_Spacing,x
775 #ifdef MUI_OBSOLETE
777 /***************************************************************************
779 ** String-Object
780 ** -------------
782 ** The following macro creates a simple string gadget.
784 ***************************************************************************/
786 #define String(contents,maxlen)\
787 StringObject,\
788 StringFrame,\
789 MUIA_String_MaxLen , maxlen,\
790 MUIA_String_Contents, contents,\
793 #define KeyString(contents,maxlen,controlchar)\
794 StringObject,\
795 StringFrame,\
796 MUIA_ControlChar , controlchar,\
797 MUIA_String_MaxLen , maxlen,\
798 MUIA_String_Contents, contents,\
801 #endif
805 #ifdef MUI_OBSOLETE
807 /***************************************************************************
809 ** CheckMark-Object
810 ** ----------------
812 ** The following macro creates a checkmark gadget.
814 ***************************************************************************/
816 #define CheckMark(selected)\
817 ImageObject,\
818 ImageButtonFrame,\
819 MUIA_InputMode , MUIV_InputMode_Toggle,\
820 MUIA_Image_Spec , MUII_CheckMark,\
821 MUIA_Image_FreeVert , TRUE,\
822 MUIA_Selected , selected,\
823 MUIA_Background , MUII_ButtonBack,\
824 MUIA_ShowSelState , FALSE,\
827 #define KeyCheckMark(selected,control)\
828 ImageObject,\
829 ImageButtonFrame,\
830 MUIA_InputMode , MUIV_InputMode_Toggle,\
831 MUIA_Image_Spec , MUII_CheckMark,\
832 MUIA_Image_FreeVert , TRUE,\
833 MUIA_Selected , selected,\
834 MUIA_Background , MUII_ButtonBack,\
835 MUIA_ShowSelState , FALSE,\
836 MUIA_ControlChar , control,\
839 #endif
842 /***************************************************************************
844 ** Button-Objects
845 ** --------------
847 ** Note: Use small letters for KeyButtons, e.g.
848 ** KeyButton("Cancel",'c') and not KeyButton("Cancel",'C') !!
850 ***************************************************************************/
852 #define SimpleButton(label) MUI_MakeObject(MUIO_Button,label)
854 #ifdef MUI_OBSOLETE
856 #define KeyButton(name,key)\
857 TextObject,\
858 ButtonFrame,\
859 MUIA_Font, MUIV_Font_Button,\
860 MUIA_Text_Contents, name,\
861 MUIA_Text_PreParse, "\33c",\
862 MUIA_Text_HiChar , key,\
863 MUIA_ControlChar , key,\
864 MUIA_InputMode , MUIV_InputMode_RelVerify,\
865 MUIA_Background , MUII_ButtonBack,\
868 #endif
871 #ifdef MUI_OBSOLETE
873 /***************************************************************************
875 ** Cycle-Object
876 ** ------------
878 ***************************************************************************/
880 #define Cycle(entries) CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, entries, End
881 #define KeyCycle(entries,key) CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, entries, MUIA_ControlChar, key, End
885 /***************************************************************************
887 ** Radio-Object
888 ** ------------
890 ***************************************************************************/
892 #define Radio(name,array)\
893 RadioObject,\
894 GroupFrameT(name),\
895 MUIA_Radio_Entries,array,\
898 #define KeyRadio(name,array,key)\
899 RadioObject,\
900 GroupFrameT(name),\
901 MUIA_Radio_Entries,array,\
902 MUIA_ControlChar, key,\
907 /***************************************************************************
909 ** Slider-Object
910 ** -------------
912 ***************************************************************************/
915 #define Slider(min,max,level)\
916 SliderObject,\
917 MUIA_Numeric_Min , min,\
918 MUIA_Numeric_Max , max,\
919 MUIA_Numeric_Value, level,\
922 #define KeySlider(min,max,level,key)\
923 SliderObject,\
924 MUIA_Numeric_Min , min,\
925 MUIA_Numeric_Max , max,\
926 MUIA_Numeric_Value, level,\
927 MUIA_ControlChar , key,\
930 #endif
934 /***************************************************************************
936 ** Button to be used for popup objects
938 ***************************************************************************/
940 #define PopButton(img) MUI_MakeObject(MUIO_PopButton,img)
944 /***************************************************************************
946 ** Labeling Objects
947 ** ----------------
949 ** Labeling objects, e.g. a group of string gadgets,
951 ** Small: |foo |
952 ** Normal: |bar |
953 ** Big: |foobar|
954 ** Huge: |barfoo|
956 ** is done using a 2 column group:
958 ** ColGroup(2),
959 ** Child, Label2("Small:" ),
960 ** Child, StringObject, End,
961 ** Child, Label2("Normal:"),
962 ** Child, StringObject, End,
963 ** Child, Label2("Big:" ),
964 ** Child, StringObject, End,
965 ** Child, Label2("Huge:" ),
966 ** Child, StringObject, End,
967 ** End,
969 ** Note that we have three versions of the label macro, depending on
970 ** the frame type of the right hand object:
972 ** Label1(): For use with standard frames (e.g. checkmarks).
973 ** Label2(): For use with double high frames (e.g. string gadgets).
974 ** Label() : For use with objects without a frame.
976 ** These macros ensure that your label will look fine even if the
977 ** user of your application configured some strange spacing values.
978 ** If you want to use your own labeling, you'll have to pay attention
979 ** on this topic yourself.
981 ***************************************************************************/
983 #define Label(label) MUI_MakeObject(MUIO_Label,label,0)
984 #define Label1(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_SingleFrame)
985 #define Label2(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_DoubleFrame)
986 #define LLabel(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned)
987 #define LLabel1(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_SingleFrame)
988 #define LLabel2(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame)
989 #define CLabel(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered)
990 #define CLabel1(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_SingleFrame)
991 #define CLabel2(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_DoubleFrame)
993 #define FreeLabel(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert)
994 #define FreeLabel1(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_SingleFrame)
995 #define FreeLabel2(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame)
996 #define FreeLLabel(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned)
997 #define FreeLLabel1(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_SingleFrame)
998 #define FreeLLabel2(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame)
999 #define FreeCLabel(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered)
1000 #define FreeCLabel1(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_SingleFrame)
1001 #define FreeCLabel2(label) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_DoubleFrame)
1003 #define KeyLabel(label,key) MUI_MakeObject(MUIO_Label,label,key)
1004 #define KeyLabel1(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_SingleFrame|(key))
1005 #define KeyLabel2(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_DoubleFrame|(key))
1006 #define KeyLLabel(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|(key))
1007 #define KeyLLabel1(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_SingleFrame|(key))
1008 #define KeyLLabel2(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame|(key))
1009 #define KeyCLabel(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|(key))
1010 #define KeyCLabel1(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_SingleFrame|(key))
1011 #define KeyCLabel2(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_DoubleFrame|(key))
1013 #define FreeKeyLabel(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|(key))
1014 #define FreeKeyLabel1(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_SingleFrame|(key))
1015 #define FreeKeyLabel2(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame|(key))
1016 #define FreeKeyLLabel(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|(key))
1017 #define FreeKeyLLabel1(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_SingleFrame|(key))
1018 #define FreeKeyLLabel2(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame|(key))
1019 #define FreeKeyCLabel(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|(key))
1020 #define FreeKeyCLabel1(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_SingleFrame|(key))
1021 #define FreeKeyCLabel2(label,key) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_DoubleFrame|(key))
1025 /***************************************************************************
1027 ** Controlling Objects
1028 ** -------------------
1030 ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
1031 ** calls:
1033 ** {
1034 ** char *x;
1036 ** set(obj,MUIA_String_Contents,"foobar");
1037 ** get(obj,MUIA_String_Contents,&x);
1039 ** printf("gadget contains '%s'\n",x);
1040 ** }
1042 ** nnset() sets an attribute without triggering a possible notification.
1044 ***************************************************************************/
1046 #ifndef __cplusplus
1048 #define get(obj,attr,store) GetAttr(attr,obj,(ULONG *)store)
1049 #define set(obj,attr,value) SetAttrs(obj,attr,value,TAG_DONE)
1050 #define nnset(obj,attr,value) SetAttrs(obj,MUIA_NoNotify,TRUE,attr,value,TAG_DONE)
1052 #define setmutex(obj,n) set(obj,MUIA_Radio_Active,n)
1053 #define setcycle(obj,n) set(obj,MUIA_Cycle_Active,n)
1054 #define setstring(obj,s) set(obj,MUIA_String_Contents,s)
1055 #define setcheckmark(obj,b) set(obj,MUIA_Selected,b)
1056 #define setslider(obj,l) set(obj,MUIA_Numeric_Value,l)
1058 #endif
1061 #endif /* MUI_NOSHORTCUTS */
1064 /***************************************************************************
1066 ** For Boopsi Image Implementors Only:
1068 ** If MUI is using a boopsi image object, it will send a special method
1069 ** immediately after object creation. This method has a parameter structure
1070 ** where the boopsi can fill in its minimum and maximum size and learn if
1071 ** its used in a horizontal or vertical context.
1073 ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
1074 ** value. That's how MUI sees that the method is implemented.
1076 ** Note: MUI does not depend on this method. If the boopsi image doesn't
1077 ** implement it, minimum size will be 0 and maximum size unlimited.
1079 ***************************************************************************/
1081 #define MUIM_BoopsiQuery 0x80427157 /* this is send to the boopsi and */
1082 /* must be used as return value */
1084 struct MUI_BoopsiQuery /* parameter structure */
1086 ULONG mbq_MethodID; /* always MUIM_BoopsiQuery */
1088 struct Screen *mbq_Screen; /* obsolete, use mbq_RenderInfo */
1089 ULONG mbq_Flags; /* read only, see below */
1091 LONG mbq_MinWidth ; /* write only, fill in min width */
1092 LONG mbq_MinHeight; /* write only, fill in min height */
1093 LONG mbq_MaxWidth ; /* write only, fill in max width */
1094 LONG mbq_MaxHeight; /* write only, fill in max height */
1095 LONG mbq_DefWidth ; /* write only, fill in def width */
1096 LONG mbq_DefHeight; /* write only, fill in def height */
1098 struct MUI_RenderInfo *mbq_RenderInfo; /* read only, display context */
1100 /* may grow in future ... */
1103 #define MUIP_BoopsiQuery MUI_BoopsiQuery /* old structure name */
1105 #define MBQF_HORIZ (1<<0) /* object used in a horizontal */
1106 /* context (else vertical) */
1108 #define MBQ_MUI_MAXMAX (10000) /* use this for unlimited MaxWidth/Height */
1111 /*******************************************/
1112 /* Begin of automatic header file creation */
1113 /*******************************************/
1118 /****************************************************************************/
1119 /** Notify **/
1120 /****************************************************************************/
1122 #ifdef _DCC
1123 extern char MUIC_Notify[];
1124 #else
1125 #define MUIC_Notify "Notify.mui"
1126 #endif
1128 /* Methods */
1130 #define MUIM_CallHook 0x8042b96b /* V4 */
1131 #define MUIM_Export 0x80420f1c /* V12 */
1132 #define MUIM_FindUData 0x8042c196 /* V8 */
1133 #define MUIM_GetConfigItem 0x80423edb /* V11 */
1134 #define MUIM_GetUData 0x8042ed0c /* V8 */
1135 #define MUIM_Import 0x8042d012 /* V12 */
1136 #define MUIM_KillNotify 0x8042d240 /* V4 */
1137 #define MUIM_KillNotifyObj 0x8042b145 /* V16 */
1138 #define MUIM_MultiSet 0x8042d356 /* V7 */
1139 #define MUIM_NoNotifySet 0x8042216f /* V9 */
1140 #define MUIM_Notify 0x8042c9cb /* V4 */
1141 #define MUIM_Set 0x8042549a /* V4 */
1142 #define MUIM_SetAsString 0x80422590 /* V4 */
1143 #define MUIM_SetUData 0x8042c920 /* V8 */
1144 #define MUIM_SetUDataOnce 0x8042ca19 /* V11 */
1145 #define MUIM_WriteLong 0x80428d86 /* V6 */
1146 #define MUIM_WriteString 0x80424bf4 /* V6 */
1147 struct MUIP_CallHook { ULONG MethodID; struct Hook *Hook; ULONG param1; /* ... */ };
1148 struct MUIP_Export { ULONG MethodID; Object *dataspace; };
1149 struct MUIP_FindUData { ULONG MethodID; ULONG udata; };
1150 struct MUIP_GetConfigItem { ULONG MethodID; ULONG id; ULONG *storage; };
1151 struct MUIP_GetUData { ULONG MethodID; ULONG udata; ULONG attr; ULONG *storage; };
1152 struct MUIP_Import { ULONG MethodID; Object *dataspace; };
1153 struct MUIP_KillNotify { ULONG MethodID; ULONG TrigAttr; };
1154 struct MUIP_KillNotifyObj { ULONG MethodID; ULONG TrigAttr; Object *dest; };
1155 struct MUIP_MultiSet { ULONG MethodID; ULONG attr; ULONG val; APTR obj; /* ... */ };
1156 struct MUIP_NoNotifySet { ULONG MethodID; ULONG attr; char *format; ULONG val; /* ... */ };
1157 struct MUIP_Notify { ULONG MethodID; ULONG TrigAttr; ULONG TrigVal; APTR DestObj; ULONG FollowParams; /* ... */ };
1158 struct MUIP_Set { ULONG MethodID; ULONG attr; ULONG val; };
1159 struct MUIP_SetAsString { ULONG MethodID; ULONG attr; char *format; ULONG val; /* ... */ };
1160 struct MUIP_SetUData { ULONG MethodID; ULONG udata; ULONG attr; ULONG val; };
1161 struct MUIP_SetUDataOnce { ULONG MethodID; ULONG udata; ULONG attr; ULONG val; };
1162 struct MUIP_WriteLong { ULONG MethodID; ULONG val; ULONG *memory; };
1163 struct MUIP_WriteString { ULONG MethodID; char *str; char *memory; };
1165 /* Attributes */
1167 #define MUIA_ApplicationObject 0x8042d3ee /* V4 ..g Object * */
1168 #define MUIA_AppMessage 0x80421955 /* V5 ..g struct AppMessage * */
1169 #define MUIA_HelpLine 0x8042a825 /* V4 isg LONG */
1170 #define MUIA_HelpNode 0x80420b85 /* V4 isg STRPTR */
1171 #define MUIA_NoNotify 0x804237f9 /* V7 .s. BOOL */
1172 #define MUIA_ObjectID 0x8042d76e /* V11 isg ULONG */
1173 #define MUIA_Parent 0x8042e35f /* V11 ..g Object * */
1174 #define MUIA_Revision 0x80427eaa /* V4 ..g LONG */
1175 #define MUIA_UserData 0x80420313 /* V4 isg ULONG */
1176 #define MUIA_Version 0x80422301 /* V4 ..g LONG */
1180 /****************************************************************************/
1181 /** Family **/
1182 /****************************************************************************/
1184 #ifdef _DCC
1185 extern char MUIC_Family[];
1186 #else
1187 #define MUIC_Family "Family.mui"
1188 #endif
1190 /* Methods */
1192 #define MUIM_Family_AddHead 0x8042e200 /* V8 */
1193 #define MUIM_Family_AddTail 0x8042d752 /* V8 */
1194 #define MUIM_Family_Insert 0x80424d34 /* V8 */
1195 #define MUIM_Family_Remove 0x8042f8a9 /* V8 */
1196 #define MUIM_Family_Sort 0x80421c49 /* V8 */
1197 #define MUIM_Family_Transfer 0x8042c14a /* V8 */
1198 struct MUIP_Family_AddHead { ULONG MethodID; Object *obj; };
1199 struct MUIP_Family_AddTail { ULONG MethodID; Object *obj; };
1200 struct MUIP_Family_Insert { ULONG MethodID; Object *obj; Object *pred; };
1201 struct MUIP_Family_Remove { ULONG MethodID; Object *obj; };
1202 struct MUIP_Family_Sort { ULONG MethodID; Object *obj[1]; };
1203 struct MUIP_Family_Transfer { ULONG MethodID; Object *family; };
1205 /* Attributes */
1207 #define MUIA_Family_Child 0x8042c696 /* V8 i.. Object * */
1208 #define MUIA_Family_List 0x80424b9e /* V8 ..g struct MinList * */
1212 /****************************************************************************/
1213 /** Menustrip **/
1214 /****************************************************************************/
1216 #ifdef _DCC
1217 extern char MUIC_Menustrip[];
1218 #else
1219 #define MUIC_Menustrip "Menustrip.mui"
1220 #endif
1222 /* Methods */
1225 /* Attributes */
1227 #define MUIA_Menustrip_Enabled 0x8042815b /* V8 isg BOOL */
1231 /****************************************************************************/
1232 /** Menu **/
1233 /****************************************************************************/
1235 #ifdef _DCC
1236 extern char MUIC_Menu[];
1237 #else
1238 #define MUIC_Menu "Menu.mui"
1239 #endif
1241 /* Methods */
1244 /* Attributes */
1246 #define MUIA_Menu_Enabled 0x8042ed48 /* V8 isg BOOL */
1247 #define MUIA_Menu_Title 0x8042a0e3 /* V8 isg STRPTR */
1251 /****************************************************************************/
1252 /** Menuitem **/
1253 /****************************************************************************/
1255 #ifdef _DCC
1256 extern char MUIC_Menuitem[];
1257 #else
1258 #define MUIC_Menuitem "Menuitem.mui"
1259 #endif
1261 /* Methods */
1264 /* Attributes */
1266 #define MUIA_Menuitem_Checked 0x8042562a /* V8 isg BOOL */
1267 #define MUIA_Menuitem_Checkit 0x80425ace /* V8 isg BOOL */
1268 #define MUIA_Menuitem_CommandString 0x8042b9cc /* V16 isg BOOL */
1269 #define MUIA_Menuitem_Enabled 0x8042ae0f /* V8 isg BOOL */
1270 #define MUIA_Menuitem_Exclude 0x80420bc6 /* V8 isg LONG */
1271 #define MUIA_Menuitem_Shortcut 0x80422030 /* V8 isg STRPTR */
1272 #define MUIA_Menuitem_Title 0x804218be /* V8 isg STRPTR */
1273 #define MUIA_Menuitem_Toggle 0x80424d5c /* V8 isg BOOL */
1274 #define MUIA_Menuitem_Trigger 0x80426f32 /* V8 ..g struct MenuItem * */
1276 #define MUIV_Menuitem_Shortcut_Check -1
1279 /****************************************************************************/
1280 /** Application **/
1281 /****************************************************************************/
1283 #ifdef _DCC
1284 extern char MUIC_Application[];
1285 #else
1286 #define MUIC_Application "Application.mui"
1287 #endif
1289 /* Methods */
1291 #define MUIM_Application_AboutMUI 0x8042d21d /* V14 */
1292 #define MUIM_Application_AddInputHandler 0x8042f099 /* V11 */
1293 #define MUIM_Application_CheckRefresh 0x80424d68 /* V11 */
1294 #ifdef MUI_OBSOLETE
1295 #define MUIM_Application_GetMenuCheck 0x8042c0a7 /* V4 */
1296 #endif /* MUI_OBSOLETE */
1297 #ifdef MUI_OBSOLETE
1298 #define MUIM_Application_GetMenuState 0x8042a58f /* V4 */
1299 #endif /* MUI_OBSOLETE */
1300 #ifdef MUI_OBSOLETE
1301 #define MUIM_Application_Input 0x8042d0f5 /* V4 */
1302 #endif /* MUI_OBSOLETE */
1303 #define MUIM_Application_InputBuffered 0x80427e59 /* V4 */
1304 #define MUIM_Application_Load 0x8042f90d /* V4 */
1305 #define MUIM_Application_NewInput 0x80423ba6 /* V11 */
1306 #define MUIM_Application_OpenConfigWindow 0x804299ba /* V11 */
1307 #define MUIM_Application_PushMethod 0x80429ef8 /* V4 */
1308 #define MUIM_Application_RemInputHandler 0x8042e7af /* V11 */
1309 #define MUIM_Application_ReturnID 0x804276ef /* V4 */
1310 #define MUIM_Application_Save 0x804227ef /* V4 */
1311 #define MUIM_Application_SetConfigItem 0x80424a80 /* V11 */
1312 #ifdef MUI_OBSOLETE
1313 #define MUIM_Application_SetMenuCheck 0x8042a707 /* V4 */
1314 #endif /* MUI_OBSOLETE */
1315 #ifdef MUI_OBSOLETE
1316 #define MUIM_Application_SetMenuState 0x80428bef /* V4 */
1317 #endif /* MUI_OBSOLETE */
1318 #define MUIM_Application_ShowHelp 0x80426479 /* V4 */
1319 struct MUIP_Application_AboutMUI { ULONG MethodID; Object *refwindow; };
1320 struct MUIP_Application_AddInputHandler { ULONG MethodID; struct MUI_InputHandlerNode *ihnode; };
1321 struct MUIP_Application_CheckRefresh { ULONG MethodID; };
1322 struct MUIP_Application_GetMenuCheck { ULONG MethodID; ULONG MenuID; };
1323 struct MUIP_Application_GetMenuState { ULONG MethodID; ULONG MenuID; };
1324 struct MUIP_Application_Input { ULONG MethodID; LONGBITS *signal; };
1325 struct MUIP_Application_InputBuffered { ULONG MethodID; };
1326 struct MUIP_Application_Load { ULONG MethodID; STRPTR name; };
1327 struct MUIP_Application_NewInput { ULONG MethodID; LONGBITS *signal; };
1328 struct MUIP_Application_OpenConfigWindow { ULONG MethodID; ULONG flags; };
1329 struct MUIP_Application_PushMethod { ULONG MethodID; Object *dest; LONG count; /* ... */ };
1330 struct MUIP_Application_RemInputHandler { ULONG MethodID; struct MUI_InputHandlerNode *ihnode; };
1331 struct MUIP_Application_ReturnID { ULONG MethodID; ULONG retid; };
1332 struct MUIP_Application_Save { ULONG MethodID; STRPTR name; };
1333 struct MUIP_Application_SetConfigItem { ULONG MethodID; ULONG item; APTR data; };
1334 struct MUIP_Application_SetMenuCheck { ULONG MethodID; ULONG MenuID; LONG stat; };
1335 struct MUIP_Application_SetMenuState { ULONG MethodID; ULONG MenuID; LONG stat; };
1336 struct MUIP_Application_ShowHelp { ULONG MethodID; Object *window; char *name; char *node; LONG line; };
1338 /* Attributes */
1340 #define MUIA_Application_Active 0x804260ab /* V4 isg BOOL */
1341 #define MUIA_Application_Author 0x80424842 /* V4 i.g STRPTR */
1342 #define MUIA_Application_Base 0x8042e07a /* V4 i.g STRPTR */
1343 #define MUIA_Application_Broker 0x8042dbce /* V4 ..g Broker * */
1344 #define MUIA_Application_BrokerHook 0x80428f4b /* V4 isg struct Hook * */
1345 #define MUIA_Application_BrokerPort 0x8042e0ad /* V6 ..g struct MsgPort * */
1346 #define MUIA_Application_BrokerPri 0x8042c8d0 /* V6 i.g LONG */
1347 #define MUIA_Application_Commands 0x80428648 /* V4 isg struct MUI_Command * */
1348 #define MUIA_Application_Copyright 0x8042ef4d /* V4 i.g STRPTR */
1349 #define MUIA_Application_Description 0x80421fc6 /* V4 i.g STRPTR */
1350 #define MUIA_Application_DiskObject 0x804235cb /* V4 isg struct DiskObject * */
1351 #define MUIA_Application_DoubleStart 0x80423bc6 /* V4 ..g BOOL */
1352 #define MUIA_Application_DropObject 0x80421266 /* V5 is. Object * */
1353 #define MUIA_Application_ForceQuit 0x804257df /* V8 ..g BOOL */
1354 #define MUIA_Application_HelpFile 0x804293f4 /* V8 isg STRPTR */
1355 #define MUIA_Application_Iconified 0x8042a07f /* V4 .sg BOOL */
1356 #ifdef MUI_OBSOLETE
1357 #define MUIA_Application_Menu 0x80420e1f /* V4 i.g struct NewMenu * */
1358 #endif /* MUI_OBSOLETE */
1359 #define MUIA_Application_MenuAction 0x80428961 /* V4 ..g ULONG */
1360 #define MUIA_Application_MenuHelp 0x8042540b /* V4 ..g ULONG */
1361 #define MUIA_Application_Menustrip 0x804252d9 /* V8 i.. Object * */
1362 #define MUIA_Application_RexxHook 0x80427c42 /* V7 isg struct Hook * */
1363 #define MUIA_Application_RexxMsg 0x8042fd88 /* V4 ..g struct RxMsg * */
1364 #define MUIA_Application_RexxString 0x8042d711 /* V4 .s. STRPTR */
1365 #define MUIA_Application_SingleTask 0x8042a2c8 /* V4 i.. BOOL */
1366 #define MUIA_Application_Sleep 0x80425711 /* V4 .s. BOOL */
1367 #define MUIA_Application_Title 0x804281b8 /* V4 i.g STRPTR */
1368 #define MUIA_Application_UseCommodities 0x80425ee5 /* V10 i.. BOOL */
1369 #define MUIA_Application_UseRexx 0x80422387 /* V10 i.. BOOL */
1370 #define MUIA_Application_Version 0x8042b33f /* V4 i.g STRPTR */
1371 #define MUIA_Application_Window 0x8042bfe0 /* V4 i.. Object * */
1372 #define MUIA_Application_WindowList 0x80429abe /* V13 ..g struct List * */
1374 #define MUIV_Application_Package_NetConnect 0xa3ff7b49
1377 /****************************************************************************/
1378 /** Window **/
1379 /****************************************************************************/
1381 #ifdef _DCC
1382 extern char MUIC_Window[];
1383 #else
1384 #define MUIC_Window "Window.mui"
1385 #endif
1387 /* Methods */
1389 #define MUIM_Window_AddEventHandler 0x804203b7 /* V16 */
1390 #ifdef MUI_OBSOLETE
1391 #define MUIM_Window_GetMenuCheck 0x80420414 /* V4 */
1392 #endif /* MUI_OBSOLETE */
1393 #ifdef MUI_OBSOLETE
1394 #define MUIM_Window_GetMenuState 0x80420d2f /* V4 */
1395 #endif /* MUI_OBSOLETE */
1396 #define MUIM_Window_RemEventHandler 0x8042679e /* V16 */
1397 #define MUIM_Window_ScreenToBack 0x8042913d /* V4 */
1398 #define MUIM_Window_ScreenToFront 0x804227a4 /* V4 */
1399 #ifdef MUI_OBSOLETE
1400 #define MUIM_Window_SetCycleChain 0x80426510 /* V4 */
1401 #endif /* MUI_OBSOLETE */
1402 #ifdef MUI_OBSOLETE
1403 #define MUIM_Window_SetMenuCheck 0x80422243 /* V4 */
1404 #endif /* MUI_OBSOLETE */
1405 #ifdef MUI_OBSOLETE
1406 #define MUIM_Window_SetMenuState 0x80422b5e /* V4 */
1407 #endif /* MUI_OBSOLETE */
1408 #define MUIM_Window_Snapshot 0x8042945e /* V11 */
1409 #define MUIM_Window_ToBack 0x8042152e /* V4 */
1410 #define MUIM_Window_ToFront 0x8042554f /* V4 */
1411 struct MUIP_Window_AddEventHandler { ULONG MethodID; struct MUI_EventHandlerNode *ehnode; };
1412 struct MUIP_Window_GetMenuCheck { ULONG MethodID; ULONG MenuID; };
1413 struct MUIP_Window_GetMenuState { ULONG MethodID; ULONG MenuID; };
1414 struct MUIP_Window_RemEventHandler { ULONG MethodID; struct MUI_EventHandlerNode *ehnode; };
1415 struct MUIP_Window_ScreenToBack { ULONG MethodID; };
1416 struct MUIP_Window_ScreenToFront { ULONG MethodID; };
1417 struct MUIP_Window_SetCycleChain { ULONG MethodID; Object *obj[1]; };
1418 struct MUIP_Window_SetMenuCheck { ULONG MethodID; ULONG MenuID; LONG stat; };
1419 struct MUIP_Window_SetMenuState { ULONG MethodID; ULONG MenuID; LONG stat; };
1420 struct MUIP_Window_Snapshot { ULONG MethodID; LONG flags; };
1421 struct MUIP_Window_ToBack { ULONG MethodID; };
1422 struct MUIP_Window_ToFront { ULONG MethodID; };
1424 /* Attributes */
1426 #define MUIA_Window_Activate 0x80428d2f /* V4 isg BOOL */
1427 #define MUIA_Window_ActiveObject 0x80427925 /* V4 .sg Object * */
1428 #define MUIA_Window_AltHeight 0x8042cce3 /* V4 i.g LONG */
1429 #define MUIA_Window_AltLeftEdge 0x80422d65 /* V4 i.g LONG */
1430 #define MUIA_Window_AltTopEdge 0x8042e99b /* V4 i.g LONG */
1431 #define MUIA_Window_AltWidth 0x804260f4 /* V4 i.g LONG */
1432 #define MUIA_Window_AppWindow 0x804280cf /* V5 i.. BOOL */
1433 #define MUIA_Window_Backdrop 0x8042c0bb /* V4 i.. BOOL */
1434 #define MUIA_Window_Borderless 0x80429b79 /* V4 i.. BOOL */
1435 #define MUIA_Window_CloseGadget 0x8042a110 /* V4 i.. BOOL */
1436 #define MUIA_Window_CloseRequest 0x8042e86e /* V4 ..g BOOL */
1437 #define MUIA_Window_DefaultObject 0x804294d7 /* V4 isg Object * */
1438 #define MUIA_Window_DepthGadget 0x80421923 /* V4 i.. BOOL */
1439 #define MUIA_Window_DragBar 0x8042045d /* V4 i.. BOOL */
1440 #define MUIA_Window_FancyDrawing 0x8042bd0e /* V8 isg BOOL */
1441 #define MUIA_Window_Height 0x80425846 /* V4 i.g LONG */
1442 #define MUIA_Window_ID 0x804201bd /* V4 isg ULONG */
1443 #define MUIA_Window_InputEvent 0x804247d8 /* V4 ..g struct InputEvent * */
1444 #define MUIA_Window_IsSubWindow 0x8042b5aa /* V4 isg BOOL */
1445 #define MUIA_Window_LeftEdge 0x80426c65 /* V4 i.g LONG */
1446 #ifdef MUI_OBSOLETE
1447 #define MUIA_Window_Menu 0x8042db94 /* V4 i.. struct NewMenu * */
1448 #endif /* MUI_OBSOLETE */
1449 #define MUIA_Window_MenuAction 0x80427521 /* V8 isg ULONG */
1450 #define MUIA_Window_Menustrip 0x8042855e /* V8 i.g Object * */
1451 #define MUIA_Window_MouseObject 0x8042bf9b /* V10 ..g Object * */
1452 #define MUIA_Window_NeedsMouseObject 0x8042372a /* V10 i.. BOOL */
1453 #define MUIA_Window_NoMenus 0x80429df5 /* V4 is. BOOL */
1454 #define MUIA_Window_Open 0x80428aa0 /* V4 .sg BOOL */
1455 #define MUIA_Window_PublicScreen 0x804278e4 /* V6 isg STRPTR */
1456 #define MUIA_Window_RefWindow 0x804201f4 /* V4 is. Object * */
1457 #define MUIA_Window_RootObject 0x8042cba5 /* V4 isg Object * */
1458 #define MUIA_Window_Screen 0x8042df4f /* V4 isg struct Screen * */
1459 #define MUIA_Window_ScreenTitle 0x804234b0 /* V5 isg STRPTR */
1460 #define MUIA_Window_SizeGadget 0x8042e33d /* V4 i.. BOOL */
1461 #define MUIA_Window_SizeRight 0x80424780 /* V4 i.. BOOL */
1462 #define MUIA_Window_Sleep 0x8042e7db /* V4 .sg BOOL */
1463 #define MUIA_Window_Title 0x8042ad3d /* V4 isg STRPTR */
1464 #define MUIA_Window_TopEdge 0x80427c66 /* V4 i.g LONG */
1465 #define MUIA_Window_UseBottomBorderScroller 0x80424e79 /* V13 isg BOOL */
1466 #define MUIA_Window_UseLeftBorderScroller 0x8042433e /* V13 isg BOOL */
1467 #define MUIA_Window_UseRightBorderScroller 0x8042c05e /* V13 isg BOOL */
1468 #define MUIA_Window_Width 0x8042dcae /* V4 i.g LONG */
1469 #define MUIA_Window_Window 0x80426a42 /* V4 ..g struct Window * */
1471 #define MUIV_Window_ActiveObject_None 0
1472 #define MUIV_Window_ActiveObject_Next -1
1473 #define MUIV_Window_ActiveObject_Prev -2
1474 #define MUIV_Window_AltHeight_MinMax(p) (0-(p))
1475 #define MUIV_Window_AltHeight_Visible(p) (-100-(p))
1476 #define MUIV_Window_AltHeight_Screen(p) (-200-(p))
1477 #define MUIV_Window_AltHeight_Scaled -1000
1478 #define MUIV_Window_AltLeftEdge_Centered -1
1479 #define MUIV_Window_AltLeftEdge_Moused -2
1480 #define MUIV_Window_AltLeftEdge_NoChange -1000
1481 #define MUIV_Window_AltTopEdge_Centered -1
1482 #define MUIV_Window_AltTopEdge_Moused -2
1483 #define MUIV_Window_AltTopEdge_Delta(p) (-3-(p))
1484 #define MUIV_Window_AltTopEdge_NoChange -1000
1485 #define MUIV_Window_AltWidth_MinMax(p) (0-(p))
1486 #define MUIV_Window_AltWidth_Visible(p) (-100-(p))
1487 #define MUIV_Window_AltWidth_Screen(p) (-200-(p))
1488 #define MUIV_Window_AltWidth_Scaled -1000
1489 #define MUIV_Window_Height_MinMax(p) (0-(p))
1490 #define MUIV_Window_Height_Visible(p) (-100-(p))
1491 #define MUIV_Window_Height_Screen(p) (-200-(p))
1492 #define MUIV_Window_Height_Scaled -1000
1493 #define MUIV_Window_Height_Default -1001
1494 #define MUIV_Window_LeftEdge_Centered -1
1495 #define MUIV_Window_LeftEdge_Moused -2
1496 #ifdef MUI_OBSOLETE
1497 #define MUIV_Window_Menu_NoMenu -1
1498 #endif /* MUI_OBSOLETE */
1499 #define MUIV_Window_TopEdge_Centered -1
1500 #define MUIV_Window_TopEdge_Moused -2
1501 #define MUIV_Window_TopEdge_Delta(p) (-3-(p))
1502 #define MUIV_Window_Width_MinMax(p) (0-(p))
1503 #define MUIV_Window_Width_Visible(p) (-100-(p))
1504 #define MUIV_Window_Width_Screen(p) (-200-(p))
1505 #define MUIV_Window_Width_Scaled -1000
1506 #define MUIV_Window_Width_Default -1001
1509 /****************************************************************************/
1510 /** Aboutmui **/
1511 /****************************************************************************/
1513 #ifdef _DCC
1514 extern char MUIC_Aboutmui[];
1515 #else
1516 #define MUIC_Aboutmui "Aboutmui.mui"
1517 #endif
1519 /* Methods */
1522 /* Attributes */
1524 #define MUIA_Aboutmui_Application 0x80422523 /* V11 i.. Object * */
1528 /****************************************************************************/
1529 /** Area **/
1530 /****************************************************************************/
1532 #ifdef _DCC
1533 extern char MUIC_Area[];
1534 #else
1535 #define MUIC_Area "Area.mui"
1536 #endif
1538 /* Methods */
1540 #define MUIM_AskMinMax 0x80423874 /* Custom Class */ /* V4 */
1541 #define MUIM_Cleanup 0x8042d985 /* Custom Class */ /* V4 */
1542 #define MUIM_ContextMenuBuild 0x80429d2e /* V11 */
1543 #define MUIM_ContextMenuChoice 0x80420f0e /* V11 */
1544 #define MUIM_CreateBubble 0x80421c41 /* V18 */
1545 #define MUIM_CreateShortHelp 0x80428e93 /* V11 */
1546 #define MUIM_DeleteBubble 0x804211af /* V18 */
1547 #define MUIM_DeleteShortHelp 0x8042d35a /* V11 */
1548 #define MUIM_DragBegin 0x8042c03a /* V11 */
1549 #define MUIM_DragDrop 0x8042c555 /* V11 */
1550 #define MUIM_DragFinish 0x804251f0 /* V11 */
1551 #define MUIM_DragQuery 0x80420261 /* V11 */
1552 #define MUIM_DragReport 0x8042edad /* V11 */
1553 #define MUIM_Draw 0x80426f3f /* Custom Class */ /* V4 */
1554 #define MUIM_DrawBackground 0x804238ca /* V11 */
1555 #define MUIM_HandleEvent 0x80426d66 /* Custom Class */ /* V16 */
1556 #define MUIM_HandleInput 0x80422a1a /* Custom Class */ /* V4 */
1557 #define MUIM_Hide 0x8042f20f /* Custom Class */ /* V4 */
1558 #define MUIM_Setup 0x80428354 /* Custom Class */ /* V4 */
1559 #define MUIM_Show 0x8042cc84 /* Custom Class */ /* V4 */
1560 struct MUIP_AskMinMax { ULONG MethodID; struct MUI_MinMax *MinMaxInfo; }; /* Custom Class */
1561 struct MUIP_Cleanup { ULONG MethodID; }; /* Custom Class */
1562 struct MUIP_ContextMenuBuild { ULONG MethodID; LONG mx; LONG my; };
1563 struct MUIP_ContextMenuChoice { ULONG MethodID; Object *item; };
1564 struct MUIP_CreateBubble { ULONG MethodID; LONG x; LONG y; char *txt; ULONG flags; };
1565 struct MUIP_CreateShortHelp { ULONG MethodID; LONG mx; LONG my; };
1566 struct MUIP_DeleteBubble { ULONG MethodID; APTR bubble; };
1567 struct MUIP_DeleteShortHelp { ULONG MethodID; STRPTR help; };
1568 struct MUIP_DragBegin { ULONG MethodID; Object *obj; };
1569 struct MUIP_DragDrop { ULONG MethodID; Object *obj; LONG x; LONG y; };
1570 struct MUIP_DragFinish { ULONG MethodID; Object *obj; };
1571 struct MUIP_DragQuery { ULONG MethodID; Object *obj; };
1572 struct MUIP_DragReport { ULONG MethodID; Object *obj; LONG x; LONG y; LONG update; };
1573 struct MUIP_Draw { ULONG MethodID; ULONG flags; }; /* Custom Class */
1574 struct MUIP_DrawBackground { ULONG MethodID; LONG left; LONG top; LONG width; LONG height; LONG xoffset; LONG yoffset; LONG flags; };
1575 struct MUIP_HandleEvent { ULONG MethodID; struct IntuiMessage *imsg; LONG muikey; }; /* Custom Class */
1576 struct MUIP_HandleInput { ULONG MethodID; struct IntuiMessage *imsg; LONG muikey; }; /* Custom Class */
1577 struct MUIP_Hide { ULONG MethodID; }; /* Custom Class */
1578 struct MUIP_Setup { ULONG MethodID; struct MUI_RenderInfo *RenderInfo; }; /* Custom Class */
1579 struct MUIP_Show { ULONG MethodID; }; /* Custom Class */
1581 /* Attributes */
1583 #define MUIA_Background 0x8042545b /* V4 is. LONG */
1584 #define MUIA_BottomEdge 0x8042e552 /* V4 ..g LONG */
1585 #define MUIA_ContextMenu 0x8042b704 /* V11 isg Object * */
1586 #define MUIA_ContextMenuTrigger 0x8042a2c1 /* V11 ..g Object * */
1587 #define MUIA_ControlChar 0x8042120b /* V4 isg char */
1588 #define MUIA_CycleChain 0x80421ce7 /* V11 isg LONG */
1589 #define MUIA_Disabled 0x80423661 /* V4 isg BOOL */
1590 #define MUIA_Draggable 0x80420b6e /* V11 isg BOOL */
1591 #define MUIA_Dropable 0x8042fbce /* V11 isg BOOL */
1592 #ifdef MUI_OBSOLETE
1593 #define MUIA_ExportID 0x8042d76e /* V4 isg ULONG */
1594 #endif /* MUI_OBSOLETE */
1595 #define MUIA_FillArea 0x804294a3 /* V4 is. BOOL */
1596 #define MUIA_FixHeight 0x8042a92b /* V4 i.. LONG */
1597 #define MUIA_FixHeightTxt 0x804276f2 /* V4 i.. STRPTR */
1598 #define MUIA_FixWidth 0x8042a3f1 /* V4 i.. LONG */
1599 #define MUIA_FixWidthTxt 0x8042d044 /* V4 i.. STRPTR */
1600 #define MUIA_Font 0x8042be50 /* V4 i.g struct TextFont * */
1601 #define MUIA_Frame 0x8042ac64 /* V4 i.. LONG */
1602 #define MUIA_FramePhantomHoriz 0x8042ed76 /* V4 i.. BOOL */
1603 #define MUIA_FrameTitle 0x8042d1c7 /* V4 i.. STRPTR */
1604 #define MUIA_Height 0x80423237 /* V4 ..g LONG */
1605 #define MUIA_HorizDisappear 0x80429615 /* V11 isg LONG */
1606 #define MUIA_HorizWeight 0x80426db9 /* V4 isg WORD */
1607 #define MUIA_InnerBottom 0x8042f2c0 /* V4 i.g LONG */
1608 #define MUIA_InnerLeft 0x804228f8 /* V4 i.g LONG */
1609 #define MUIA_InnerRight 0x804297ff /* V4 i.g LONG */
1610 #define MUIA_InnerTop 0x80421eb6 /* V4 i.g LONG */
1611 #define MUIA_InputMode 0x8042fb04 /* V4 i.. LONG */
1612 #define MUIA_LeftEdge 0x8042bec6 /* V4 ..g LONG */
1613 #define MUIA_MaxHeight 0x804293e4 /* V11 i.. LONG */
1614 #define MUIA_MaxWidth 0x8042f112 /* V11 i.. LONG */
1615 #define MUIA_Pressed 0x80423535 /* V4 ..g BOOL */
1616 #define MUIA_RightEdge 0x8042ba82 /* V4 ..g LONG */
1617 #define MUIA_Selected 0x8042654b /* V4 isg BOOL */
1618 #define MUIA_ShortHelp 0x80428fe3 /* V11 isg STRPTR */
1619 #define MUIA_ShowMe 0x80429ba8 /* V4 isg BOOL */
1620 #define MUIA_ShowSelState 0x8042caac /* V4 i.. BOOL */
1621 #define MUIA_Timer 0x80426435 /* V4 ..g LONG */
1622 #define MUIA_TopEdge 0x8042509b /* V4 ..g LONG */
1623 #define MUIA_VertDisappear 0x8042d12f /* V11 isg LONG */
1624 #define MUIA_VertWeight 0x804298d0 /* V4 isg WORD */
1625 #define MUIA_Weight 0x80421d1f /* V4 i.. WORD */
1626 #define MUIA_Width 0x8042b59c /* V4 ..g LONG */
1627 #define MUIA_Window 0x80421591 /* V4 ..g struct Window * */
1628 #define MUIA_WindowObject 0x8042669e /* V4 ..g Object * */
1630 #define MUIV_Font_Inherit 0
1631 #define MUIV_Font_Normal -1
1632 #define MUIV_Font_List -2
1633 #define MUIV_Font_Tiny -3
1634 #define MUIV_Font_Fixed -4
1635 #define MUIV_Font_Title -5
1636 #define MUIV_Font_Big -6
1637 #define MUIV_Font_Button -7
1638 #define MUIV_Frame_None 0
1639 #define MUIV_Frame_Button 1
1640 #define MUIV_Frame_ImageButton 2
1641 #define MUIV_Frame_Text 3
1642 #define MUIV_Frame_String 4
1643 #define MUIV_Frame_ReadList 5
1644 #define MUIV_Frame_InputList 6
1645 #define MUIV_Frame_Prop 7
1646 #define MUIV_Frame_Gauge 8
1647 #define MUIV_Frame_Group 9
1648 #define MUIV_Frame_PopUp 10
1649 #define MUIV_Frame_Virtual 11
1650 #define MUIV_Frame_Slider 12
1651 #define MUIV_Frame_Count 13
1652 #define MUIV_InputMode_None 0
1653 #define MUIV_InputMode_RelVerify 1
1654 #define MUIV_InputMode_Immediate 2
1655 #define MUIV_InputMode_Toggle 3
1658 /****************************************************************************/
1659 /** Rectangle **/
1660 /****************************************************************************/
1662 #ifdef _DCC
1663 extern char MUIC_Rectangle[];
1664 #else
1665 #define MUIC_Rectangle "Rectangle.mui"
1666 #endif
1668 /* Attributes */
1670 #define MUIA_Rectangle_BarTitle 0x80426689 /* V11 i.g STRPTR */
1671 #define MUIA_Rectangle_HBar 0x8042c943 /* V7 i.g BOOL */
1672 #define MUIA_Rectangle_VBar 0x80422204 /* V7 i.g BOOL */
1676 /****************************************************************************/
1677 /** Balance **/
1678 /****************************************************************************/
1680 #ifdef _DCC
1681 extern char MUIC_Balance[];
1682 #else
1683 #define MUIC_Balance "Balance.mui"
1684 #endif
1687 /****************************************************************************/
1688 /** Image **/
1689 /****************************************************************************/
1691 #ifdef _DCC
1692 extern char MUIC_Image[];
1693 #else
1694 #define MUIC_Image "Image.mui"
1695 #endif
1697 /* Attributes */
1699 #define MUIA_Image_FontMatch 0x8042815d /* V4 i.. BOOL */
1700 #define MUIA_Image_FontMatchHeight 0x80429f26 /* V4 i.. BOOL */
1701 #define MUIA_Image_FontMatchWidth 0x804239bf /* V4 i.. BOOL */
1702 #define MUIA_Image_FreeHoriz 0x8042da84 /* V4 i.. BOOL */
1703 #define MUIA_Image_FreeVert 0x8042ea28 /* V4 i.. BOOL */
1704 #define MUIA_Image_OldImage 0x80424f3d /* V4 i.. struct Image * */
1705 #define MUIA_Image_Spec 0x804233d5 /* V4 i.. char * */
1706 #define MUIA_Image_State 0x8042a3ad /* V4 is. LONG */
1710 /****************************************************************************/
1711 /** Bitmap **/
1712 /****************************************************************************/
1714 #ifdef _DCC
1715 extern char MUIC_Bitmap[];
1716 #else
1717 #define MUIC_Bitmap "Bitmap.mui"
1718 #endif
1720 /* Attributes */
1722 #define MUIA_Bitmap_Bitmap 0x804279bd /* V8 isg struct BitMap * */
1723 #define MUIA_Bitmap_Height 0x80421560 /* V8 isg LONG */
1724 #define MUIA_Bitmap_MappingTable 0x8042e23d /* V8 isg UBYTE * */
1725 #define MUIA_Bitmap_Precision 0x80420c74 /* V11 isg LONG */
1726 #define MUIA_Bitmap_RemappedBitmap 0x80423a47 /* V11 ..g struct BitMap * */
1727 #define MUIA_Bitmap_SourceColors 0x80425360 /* V8 isg ULONG * */
1728 #define MUIA_Bitmap_Transparent 0x80422805 /* V8 isg LONG */
1729 #define MUIA_Bitmap_UseFriend 0x804239d8 /* V11 i.. BOOL */
1730 #define MUIA_Bitmap_Width 0x8042eb3a /* V8 isg LONG */
1734 /****************************************************************************/
1735 /** Bodychunk **/
1736 /****************************************************************************/
1738 #ifdef _DCC
1739 extern char MUIC_Bodychunk[];
1740 #else
1741 #define MUIC_Bodychunk "Bodychunk.mui"
1742 #endif
1744 /* Attributes */
1746 #define MUIA_Bodychunk_Body 0x8042ca67 /* V8 isg UBYTE * */
1747 #define MUIA_Bodychunk_Compression 0x8042de5f /* V8 isg UBYTE */
1748 #define MUIA_Bodychunk_Depth 0x8042c392 /* V8 isg LONG */
1749 #define MUIA_Bodychunk_Masking 0x80423b0e /* V8 isg UBYTE */
1753 /****************************************************************************/
1754 /** Text **/
1755 /****************************************************************************/
1757 #ifdef _DCC
1758 extern char MUIC_Text[];
1759 #else
1760 #define MUIC_Text "Text.mui"
1761 #endif
1763 /* Attributes */
1765 #define MUIA_Text_Contents 0x8042f8dc /* V4 isg STRPTR */
1766 #define MUIA_Text_HiChar 0x804218ff /* V4 i.. char */
1767 #define MUIA_Text_PreParse 0x8042566d /* V4 isg STRPTR */
1768 #define MUIA_Text_SetMax 0x80424d0a /* V4 i.. BOOL */
1769 #define MUIA_Text_SetMin 0x80424e10 /* V4 i.. BOOL */
1770 #define MUIA_Text_SetVMax 0x80420d8b /* V11 i.. BOOL */
1774 /****************************************************************************/
1775 /** Gadget **/
1776 /****************************************************************************/
1778 #ifdef _DCC
1779 extern char MUIC_Gadget[];
1780 #else
1781 #define MUIC_Gadget "Gadget.mui"
1782 #endif
1784 /* Attributes */
1786 #define MUIA_Gadget_Gadget 0x8042ec1a /* V11 ..g struct Gadget * */
1790 /****************************************************************************/
1791 /** String **/
1792 /****************************************************************************/
1794 #ifdef _DCC
1795 extern char MUIC_String[];
1796 #else
1797 #define MUIC_String "String.mui"
1798 #endif
1800 /* Methods */
1803 /* Attributes */
1805 #define MUIA_String_Accept 0x8042e3e1 /* V4 isg STRPTR */
1806 #define MUIA_String_Acknowledge 0x8042026c /* V4 ..g STRPTR */
1807 #define MUIA_String_AdvanceOnCR 0x804226de /* V11 isg BOOL */
1808 #define MUIA_String_AttachedList 0x80420fd2 /* V4 isg Object * */
1809 #define MUIA_String_BufferPos 0x80428b6c /* V4 .sg LONG */
1810 #define MUIA_String_Contents 0x80428ffd /* V4 isg STRPTR */
1811 #define MUIA_String_DisplayPos 0x8042ccbf /* V4 .sg LONG */
1812 #define MUIA_String_EditHook 0x80424c33 /* V7 isg struct Hook * */
1813 #define MUIA_String_Format 0x80427484 /* V4 i.g LONG */
1814 #define MUIA_String_Integer 0x80426e8a /* V4 isg ULONG */
1815 #define MUIA_String_LonelyEditHook 0x80421569 /* V11 isg BOOL */
1816 #define MUIA_String_MaxLen 0x80424984 /* V4 i.g LONG */
1817 #define MUIA_String_Reject 0x8042179c /* V4 isg STRPTR */
1818 #define MUIA_String_Secret 0x80428769 /* V4 i.g BOOL */
1820 #define MUIV_String_Format_Left 0
1821 #define MUIV_String_Format_Center 1
1822 #define MUIV_String_Format_Right 2
1825 /****************************************************************************/
1826 /** Boopsi **/
1827 /****************************************************************************/
1829 #ifdef _DCC
1830 extern char MUIC_Boopsi[];
1831 #else
1832 #define MUIC_Boopsi "Boopsi.mui"
1833 #endif
1835 /* Attributes */
1837 #define MUIA_Boopsi_Class 0x80426999 /* V4 isg struct IClass * */
1838 #define MUIA_Boopsi_ClassID 0x8042bfa3 /* V4 isg char * */
1839 #define MUIA_Boopsi_MaxHeight 0x8042757f /* V4 isg ULONG */
1840 #define MUIA_Boopsi_MaxWidth 0x8042bcb1 /* V4 isg ULONG */
1841 #define MUIA_Boopsi_MinHeight 0x80422c93 /* V4 isg ULONG */
1842 #define MUIA_Boopsi_MinWidth 0x80428fb2 /* V4 isg ULONG */
1843 #define MUIA_Boopsi_Object 0x80420178 /* V4 ..g Object * */
1844 #define MUIA_Boopsi_Remember 0x8042f4bd /* V4 i.. ULONG */
1845 #define MUIA_Boopsi_Smart 0x8042b8d7 /* V9 i.. BOOL */
1846 #define MUIA_Boopsi_TagDrawInfo 0x8042bae7 /* V4 isg ULONG */
1847 #define MUIA_Boopsi_TagScreen 0x8042bc71 /* V4 isg ULONG */
1848 #define MUIA_Boopsi_TagWindow 0x8042e11d /* V4 isg ULONG */
1852 /****************************************************************************/
1853 /** Prop **/
1854 /****************************************************************************/
1856 #ifdef _DCC
1857 extern char MUIC_Prop[];
1858 #else
1859 #define MUIC_Prop "Prop.mui"
1860 #endif
1862 /* Methods */
1864 #define MUIM_Prop_Decrease 0x80420dd1 /* V16 */
1865 #define MUIM_Prop_Increase 0x8042cac0 /* V16 */
1866 struct MUIP_Prop_Decrease { ULONG MethodID; LONG amount; };
1867 struct MUIP_Prop_Increase { ULONG MethodID; LONG amount; };
1869 /* Attributes */
1871 #define MUIA_Prop_Entries 0x8042fbdb /* V4 isg LONG */
1872 #define MUIA_Prop_First 0x8042d4b2 /* V4 isg LONG */
1873 #define MUIA_Prop_Horiz 0x8042f4f3 /* V4 i.g BOOL */
1874 #define MUIA_Prop_Slider 0x80429c3a /* V4 isg BOOL */
1875 #define MUIA_Prop_UseWinBorder 0x8042deee /* V13 i.. LONG */
1876 #define MUIA_Prop_Visible 0x8042fea6 /* V4 isg LONG */
1878 #define MUIV_Prop_UseWinBorder_None 0
1879 #define MUIV_Prop_UseWinBorder_Left 1
1880 #define MUIV_Prop_UseWinBorder_Right 2
1881 #define MUIV_Prop_UseWinBorder_Bottom 3
1884 /****************************************************************************/
1885 /** Gauge **/
1886 /****************************************************************************/
1888 #ifdef _DCC
1889 extern char MUIC_Gauge[];
1890 #else
1891 #define MUIC_Gauge "Gauge.mui"
1892 #endif
1894 /* Attributes */
1896 #define MUIA_Gauge_Current 0x8042f0dd /* V4 isg LONG */
1897 #define MUIA_Gauge_Divide 0x8042d8df /* V4 isg BOOL */
1898 #define MUIA_Gauge_Horiz 0x804232dd /* V4 i.. BOOL */
1899 #define MUIA_Gauge_InfoText 0x8042bf15 /* V7 isg STRPTR */
1900 #define MUIA_Gauge_Max 0x8042bcdb /* V4 isg LONG */
1904 /****************************************************************************/
1905 /** Scale **/
1906 /****************************************************************************/
1908 #ifdef _DCC
1909 extern char MUIC_Scale[];
1910 #else
1911 #define MUIC_Scale "Scale.mui"
1912 #endif
1914 /* Attributes */
1916 #define MUIA_Scale_Horiz 0x8042919a /* V4 isg BOOL */
1920 /****************************************************************************/
1921 /** Colorfield **/
1922 /****************************************************************************/
1924 #ifdef _DCC
1925 extern char MUIC_Colorfield[];
1926 #else
1927 #define MUIC_Colorfield "Colorfield.mui"
1928 #endif
1930 /* Attributes */
1932 #define MUIA_Colorfield_Blue 0x8042d3b0 /* V4 isg ULONG */
1933 #define MUIA_Colorfield_Green 0x80424466 /* V4 isg ULONG */
1934 #define MUIA_Colorfield_Pen 0x8042713a /* V4 ..g ULONG */
1935 #define MUIA_Colorfield_Red 0x804279f6 /* V4 isg ULONG */
1936 #define MUIA_Colorfield_RGB 0x8042677a /* V4 isg ULONG * */
1940 /****************************************************************************/
1941 /** List **/
1942 /****************************************************************************/
1944 #ifdef _DCC
1945 extern char MUIC_List[];
1946 #else
1947 #define MUIC_List "List.mui"
1948 #endif
1950 /* Methods */
1952 #define MUIM_List_Clear 0x8042ad89 /* V4 */
1953 #define MUIM_List_CreateImage 0x80429804 /* V11 */
1954 #define MUIM_List_DeleteImage 0x80420f58 /* V11 */
1955 #define MUIM_List_Exchange 0x8042468c /* V4 */
1956 #define MUIM_List_GetEntry 0x804280ec /* V4 */
1957 #define MUIM_List_Insert 0x80426c87 /* V4 */
1958 #define MUIM_List_InsertSingle 0x804254d5 /* V7 */
1959 #define MUIM_List_Jump 0x8042baab /* V4 */
1960 #define MUIM_List_Move 0x804253c2 /* V9 */
1961 #define MUIM_List_NextSelected 0x80425f17 /* V6 */
1962 #define MUIM_List_Redraw 0x80427993 /* V4 */
1963 #define MUIM_List_Remove 0x8042647e /* V4 */
1964 #define MUIM_List_Select 0x804252d8 /* V4 */
1965 #define MUIM_List_Sort 0x80422275 /* V4 */
1966 #define MUIM_List_TestPos 0x80425f48 /* V11 */
1967 struct MUIP_List_Clear { ULONG MethodID; };
1968 struct MUIP_List_CreateImage { ULONG MethodID; Object *obj; ULONG flags; };
1969 struct MUIP_List_DeleteImage { ULONG MethodID; APTR listimg; };
1970 struct MUIP_List_Exchange { ULONG MethodID; LONG pos1; LONG pos2; };
1971 struct MUIP_List_GetEntry { ULONG MethodID; LONG pos; APTR *entry; };
1972 struct MUIP_List_Insert { ULONG MethodID; APTR *entries; LONG count; LONG pos; };
1973 struct MUIP_List_InsertSingle { ULONG MethodID; APTR entry; LONG pos; };
1974 struct MUIP_List_Jump { ULONG MethodID; LONG pos; };
1975 struct MUIP_List_Move { ULONG MethodID; LONG from; LONG to; };
1976 struct MUIP_List_NextSelected { ULONG MethodID; LONG *pos; };
1977 struct MUIP_List_Redraw { ULONG MethodID; LONG pos; };
1978 struct MUIP_List_Remove { ULONG MethodID; LONG pos; };
1979 struct MUIP_List_Select { ULONG MethodID; LONG pos; LONG seltype; LONG *state; };
1980 struct MUIP_List_Sort { ULONG MethodID; };
1981 struct MUIP_List_TestPos { ULONG MethodID; LONG x; LONG y; struct MUI_List_TestPos_Result *res; };
1983 /* Attributes */
1985 #define MUIA_List_Active 0x8042391c /* V4 isg LONG */
1986 #define MUIA_List_AdjustHeight 0x8042850d /* V4 i.. BOOL */
1987 #define MUIA_List_AdjustWidth 0x8042354a /* V4 i.. BOOL */
1988 #define MUIA_List_AutoVisible 0x8042a445 /* V11 isg BOOL */
1989 #define MUIA_List_CompareHook 0x80425c14 /* V4 is. struct Hook * */
1990 #define MUIA_List_ConstructHook 0x8042894f /* V4 is. struct Hook * */
1991 #define MUIA_List_DestructHook 0x804297ce /* V4 is. struct Hook * */
1992 #define MUIA_List_DisplayHook 0x8042b4d5 /* V4 is. struct Hook * */
1993 #define MUIA_List_DragSortable 0x80426099 /* V11 isg BOOL */
1994 #define MUIA_List_DropMark 0x8042aba6 /* V11 ..g LONG */
1995 #define MUIA_List_Entries 0x80421654 /* V4 ..g LONG */
1996 #define MUIA_List_First 0x804238d4 /* V4 ..g LONG */
1997 #define MUIA_List_Format 0x80423c0a /* V4 isg STRPTR */
1998 #define MUIA_List_InsertPosition 0x8042d0cd /* V9 ..g LONG */
1999 #define MUIA_List_MinLineHeight 0x8042d1c3 /* V4 i.. LONG */
2000 #define MUIA_List_MultiTestHook 0x8042c2c6 /* V4 is. struct Hook * */
2001 #define MUIA_List_Pool 0x80423431 /* V13 i.. APTR */
2002 #define MUIA_List_PoolPuddleSize 0x8042a4eb /* V13 i.. ULONG */
2003 #define MUIA_List_PoolThreshSize 0x8042c48c /* V13 i.. ULONG */
2004 #define MUIA_List_Quiet 0x8042d8c7 /* V4 .s. BOOL */
2005 #define MUIA_List_ShowDropMarks 0x8042c6f3 /* V11 isg BOOL */
2006 #define MUIA_List_SourceArray 0x8042c0a0 /* V4 i.. APTR */
2007 #define MUIA_List_Title 0x80423e66 /* V6 isg char * */
2008 #define MUIA_List_Visible 0x8042191f /* V4 ..g LONG */
2010 #define MUIV_List_Active_Off -1
2011 #define MUIV_List_Active_Top -2
2012 #define MUIV_List_Active_Bottom -3
2013 #define MUIV_List_Active_Up -4
2014 #define MUIV_List_Active_Down -5
2015 #define MUIV_List_Active_PageUp -6
2016 #define MUIV_List_Active_PageDown -7
2017 #define MUIV_List_ConstructHook_String -1
2018 #define MUIV_List_CopyHook_String -1
2019 #define MUIV_List_CursorType_None 0
2020 #define MUIV_List_CursorType_Bar 1
2021 #define MUIV_List_CursorType_Rect 2
2022 #define MUIV_List_DestructHook_String -1
2025 /****************************************************************************/
2026 /** Floattext **/
2027 /****************************************************************************/
2029 #ifdef _DCC
2030 extern char MUIC_Floattext[];
2031 #else
2032 #define MUIC_Floattext "Floattext.mui"
2033 #endif
2035 /* Attributes */
2037 #define MUIA_Floattext_Justify 0x8042dc03 /* V4 isg BOOL */
2038 #define MUIA_Floattext_SkipChars 0x80425c7d /* V4 is. STRPTR */
2039 #define MUIA_Floattext_TabSize 0x80427d17 /* V4 is. LONG */
2040 #define MUIA_Floattext_Text 0x8042d16a /* V4 isg STRPTR */
2044 /****************************************************************************/
2045 /** Volumelist **/
2046 /****************************************************************************/
2048 #ifdef _DCC
2049 extern char MUIC_Volumelist[];
2050 #else
2051 #define MUIC_Volumelist "Volumelist.mui"
2052 #endif
2055 /****************************************************************************/
2056 /** Scrmodelist **/
2057 /****************************************************************************/
2059 #ifdef _DCC
2060 extern char MUIC_Scrmodelist[];
2061 #else
2062 #define MUIC_Scrmodelist "Scrmodelist.mui"
2063 #endif
2065 /* Attributes */
2070 /****************************************************************************/
2071 /** Dirlist **/
2072 /****************************************************************************/
2074 #ifdef _DCC
2075 extern char MUIC_Dirlist[];
2076 #else
2077 #define MUIC_Dirlist "Dirlist.mui"
2078 #endif
2080 /* Methods */
2082 #define MUIM_Dirlist_ReRead 0x80422d71 /* V4 */
2083 struct MUIP_Dirlist_ReRead { ULONG MethodID; };
2085 /* Attributes */
2087 #define MUIA_Dirlist_AcceptPattern 0x8042760a /* V4 is. STRPTR */
2088 #define MUIA_Dirlist_Directory 0x8042ea41 /* V4 isg STRPTR */
2089 #define MUIA_Dirlist_DrawersOnly 0x8042b379 /* V4 is. BOOL */
2090 #define MUIA_Dirlist_FilesOnly 0x8042896a /* V4 is. BOOL */
2091 #define MUIA_Dirlist_FilterDrawers 0x80424ad2 /* V4 is. BOOL */
2092 #define MUIA_Dirlist_FilterHook 0x8042ae19 /* V4 is. struct Hook * */
2093 #define MUIA_Dirlist_MultiSelDirs 0x80428653 /* V6 is. BOOL */
2094 #define MUIA_Dirlist_NumBytes 0x80429e26 /* V4 ..g LONG */
2095 #define MUIA_Dirlist_NumDrawers 0x80429cb8 /* V4 ..g LONG */
2096 #define MUIA_Dirlist_NumFiles 0x8042a6f0 /* V4 ..g LONG */
2097 #define MUIA_Dirlist_Path 0x80426176 /* V4 ..g STRPTR */
2098 #define MUIA_Dirlist_RejectIcons 0x80424808 /* V4 is. BOOL */
2099 #define MUIA_Dirlist_RejectPattern 0x804259c7 /* V4 is. STRPTR */
2100 #define MUIA_Dirlist_SortDirs 0x8042bbb9 /* V4 is. LONG */
2101 #define MUIA_Dirlist_SortHighLow 0x80421896 /* V4 is. BOOL */
2102 #define MUIA_Dirlist_SortType 0x804228bc /* V4 is. LONG */
2103 #define MUIA_Dirlist_Status 0x804240de /* V4 ..g LONG */
2105 #define MUIV_Dirlist_SortDirs_First 0
2106 #define MUIV_Dirlist_SortDirs_Last 1
2107 #define MUIV_Dirlist_SortDirs_Mix 2
2108 #define MUIV_Dirlist_SortType_Name 0
2109 #define MUIV_Dirlist_SortType_Date 1
2110 #define MUIV_Dirlist_SortType_Size 2
2111 #define MUIV_Dirlist_Status_Invalid 0
2112 #define MUIV_Dirlist_Status_Reading 1
2113 #define MUIV_Dirlist_Status_Valid 2
2116 /****************************************************************************/
2117 /** Numeric **/
2118 /****************************************************************************/
2120 #ifdef _DCC
2121 extern char MUIC_Numeric[];
2122 #else
2123 #define MUIC_Numeric "Numeric.mui"
2124 #endif
2126 /* Methods */
2128 #define MUIM_Numeric_Decrease 0x804243a7 /* V11 */
2129 #define MUIM_Numeric_Increase 0x80426ecd /* V11 */
2130 #define MUIM_Numeric_ScaleToValue 0x8042032c /* V11 */
2131 #define MUIM_Numeric_SetDefault 0x8042ab0a /* V11 */
2132 #define MUIM_Numeric_Stringify 0x80424891 /* V11 */
2133 #define MUIM_Numeric_ValueToScale 0x80423e4f /* V11 */
2134 struct MUIP_Numeric_Decrease { ULONG MethodID; LONG amount; };
2135 struct MUIP_Numeric_Increase { ULONG MethodID; LONG amount; };
2136 struct MUIP_Numeric_ScaleToValue { ULONG MethodID; LONG scalemin; LONG scalemax; LONG scale; };
2137 struct MUIP_Numeric_SetDefault { ULONG MethodID; };
2138 struct MUIP_Numeric_Stringify { ULONG MethodID; LONG value; };
2139 struct MUIP_Numeric_ValueToScale { ULONG MethodID; LONG scalemin; LONG scalemax; };
2141 /* Attributes */
2143 #define MUIA_Numeric_CheckAllSizes 0x80421594 /* V11 isg BOOL */
2144 #define MUIA_Numeric_Default 0x804263e8 /* V11 isg LONG */
2145 #define MUIA_Numeric_Format 0x804263e9 /* V11 isg STRPTR */
2146 #define MUIA_Numeric_Max 0x8042d78a /* V11 isg LONG */
2147 #define MUIA_Numeric_Min 0x8042e404 /* V11 isg LONG */
2148 #define MUIA_Numeric_Reverse 0x8042f2a0 /* V11 isg BOOL */
2149 #define MUIA_Numeric_RevLeftRight 0x804294a7 /* V11 isg BOOL */
2150 #define MUIA_Numeric_RevUpDown 0x804252dd /* V11 isg BOOL */
2151 #define MUIA_Numeric_Value 0x8042ae3a /* V11 isg LONG */
2155 /****************************************************************************/
2156 /** Knob **/
2157 /****************************************************************************/
2159 #ifdef _DCC
2160 extern char MUIC_Knob[];
2161 #else
2162 #define MUIC_Knob "Knob.mui"
2163 #endif
2166 /****************************************************************************/
2167 /** Levelmeter **/
2168 /****************************************************************************/
2170 #ifdef _DCC
2171 extern char MUIC_Levelmeter[];
2172 #else
2173 #define MUIC_Levelmeter "Levelmeter.mui"
2174 #endif
2176 /* Attributes */
2178 #define MUIA_Levelmeter_Label 0x80420dd5 /* V11 isg STRPTR */
2182 /****************************************************************************/
2183 /** Numericbutton **/
2184 /****************************************************************************/
2186 #ifdef _DCC
2187 extern char MUIC_Numericbutton[];
2188 #else
2189 #define MUIC_Numericbutton "Numericbutton.mui"
2190 #endif
2193 /****************************************************************************/
2194 /** Slider **/
2195 /****************************************************************************/
2197 #ifdef _DCC
2198 extern char MUIC_Slider[];
2199 #else
2200 #define MUIC_Slider "Slider.mui"
2201 #endif
2203 /* Attributes */
2205 #define MUIA_Slider_Horiz 0x8042fad1 /* V11 isg BOOL */
2206 #ifdef MUI_OBSOLETE
2207 #define MUIA_Slider_Level 0x8042ae3a /* V4 isg LONG */
2208 #endif /* MUI_OBSOLETE */
2209 #ifdef MUI_OBSOLETE
2210 #define MUIA_Slider_Max 0x8042d78a /* V4 isg LONG */
2211 #endif /* MUI_OBSOLETE */
2212 #ifdef MUI_OBSOLETE
2213 #define MUIA_Slider_Min 0x8042e404 /* V4 isg LONG */
2214 #endif /* MUI_OBSOLETE */
2215 #define MUIA_Slider_Quiet 0x80420b26 /* V6 i.. BOOL */
2216 #ifdef MUI_OBSOLETE
2217 #define MUIA_Slider_Reverse 0x8042f2a0 /* V4 isg BOOL */
2218 #endif /* MUI_OBSOLETE */
2222 /****************************************************************************/
2223 /** Framedisplay **/
2224 /****************************************************************************/
2226 #ifdef _DCC
2227 extern char MUIC_Framedisplay[];
2228 #else
2229 #define MUIC_Framedisplay "Framedisplay.mui"
2230 #endif
2232 /* Attributes */
2237 /****************************************************************************/
2238 /** Popframe **/
2239 /****************************************************************************/
2241 #ifdef _DCC
2242 extern char MUIC_Popframe[];
2243 #else
2244 #define MUIC_Popframe "Popframe.mui"
2245 #endif
2248 /****************************************************************************/
2249 /** Imagedisplay **/
2250 /****************************************************************************/
2252 #ifdef _DCC
2253 extern char MUIC_Imagedisplay[];
2254 #else
2255 #define MUIC_Imagedisplay "Imagedisplay.mui"
2256 #endif
2258 /* Attributes */
2263 /****************************************************************************/
2264 /** Popimage **/
2265 /****************************************************************************/
2267 #ifdef _DCC
2268 extern char MUIC_Popimage[];
2269 #else
2270 #define MUIC_Popimage "Popimage.mui"
2271 #endif
2274 /****************************************************************************/
2275 /** Pendisplay **/
2276 /****************************************************************************/
2278 #ifdef _DCC
2279 extern char MUIC_Pendisplay[];
2280 #else
2281 #define MUIC_Pendisplay "Pendisplay.mui"
2282 #endif
2284 /* Methods */
2286 #define MUIM_Pendisplay_SetColormap 0x80426c80 /* V13 */
2287 #define MUIM_Pendisplay_SetMUIPen 0x8042039d /* V13 */
2288 #define MUIM_Pendisplay_SetRGB 0x8042c131 /* V13 */
2289 struct MUIP_Pendisplay_SetColormap { ULONG MethodID; LONG colormap; };
2290 struct MUIP_Pendisplay_SetMUIPen { ULONG MethodID; LONG muipen; };
2291 struct MUIP_Pendisplay_SetRGB { ULONG MethodID; ULONG red; ULONG green; ULONG blue; };
2293 /* Attributes */
2295 #define MUIA_Pendisplay_Pen 0x8042a748 /* V13 ..g Object * */
2296 #define MUIA_Pendisplay_Reference 0x8042dc24 /* V13 isg Object * */
2297 #define MUIA_Pendisplay_RGBcolor 0x8042a1a9 /* V11 isg struct MUI_RGBcolor * */
2298 #define MUIA_Pendisplay_Spec 0x8042a204 /* V11 isg struct MUI_PenSpec * */
2302 /****************************************************************************/
2303 /** Poppen **/
2304 /****************************************************************************/
2306 #ifdef _DCC
2307 extern char MUIC_Poppen[];
2308 #else
2309 #define MUIC_Poppen "Poppen.mui"
2310 #endif
2313 /****************************************************************************/
2314 /** Group **/
2315 /****************************************************************************/
2317 #ifdef _DCC
2318 extern char MUIC_Group[];
2319 #else
2320 #define MUIC_Group "Group.mui"
2321 #endif
2323 /* Methods */
2325 #define MUIM_Group_ExitChange 0x8042d1cc /* V11 */
2326 #define MUIM_Group_InitChange 0x80420887 /* V11 */
2327 #define MUIM_Group_Sort 0x80427417 /* V4 */
2328 struct MUIP_Group_ExitChange { ULONG MethodID; };
2329 struct MUIP_Group_InitChange { ULONG MethodID; };
2330 struct MUIP_Group_Sort { ULONG MethodID; Object *obj[1]; };
2332 /* Attributes */
2334 #define MUIA_Group_ActivePage 0x80424199 /* V5 isg LONG */
2335 #define MUIA_Group_Child 0x804226e6 /* V4 i.. Object * */
2336 #define MUIA_Group_ChildList 0x80424748 /* V4 ..g struct List * */
2337 #define MUIA_Group_Columns 0x8042f416 /* V4 is. LONG */
2338 #define MUIA_Group_Horiz 0x8042536b /* V4 i.. BOOL */
2339 #define MUIA_Group_HorizSpacing 0x8042c651 /* V4 isg LONG */
2340 #define MUIA_Group_LayoutHook 0x8042c3b2 /* V11 i.. struct Hook * */
2341 #define MUIA_Group_PageMode 0x80421a5f /* V5 i.. BOOL */
2342 #define MUIA_Group_Rows 0x8042b68f /* V4 is. LONG */
2343 #define MUIA_Group_SameHeight 0x8042037e /* V4 i.. BOOL */
2344 #define MUIA_Group_SameSize 0x80420860 /* V4 i.. BOOL */
2345 #define MUIA_Group_SameWidth 0x8042b3ec /* V4 i.. BOOL */
2346 #define MUIA_Group_Spacing 0x8042866d /* V4 is. LONG */
2347 #define MUIA_Group_VertSpacing 0x8042e1bf /* V4 isg LONG */
2349 #define MUIV_Group_ActivePage_First 0
2350 #define MUIV_Group_ActivePage_Last -1
2351 #define MUIV_Group_ActivePage_Prev -2
2352 #define MUIV_Group_ActivePage_Next -3
2353 #define MUIV_Group_ActivePage_Advance -4
2356 /****************************************************************************/
2357 /** Mccprefs **/
2358 /****************************************************************************/
2360 #ifdef _DCC
2361 extern char MUIC_Mccprefs[];
2362 #else
2363 #define MUIC_Mccprefs "Mccprefs.mui"
2364 #endif
2367 /****************************************************************************/
2368 /** Register **/
2369 /****************************************************************************/
2371 #ifdef _DCC
2372 extern char MUIC_Register[];
2373 #else
2374 #define MUIC_Register "Register.mui"
2375 #endif
2377 /* Attributes */
2379 #define MUIA_Register_Frame 0x8042349b /* V7 i.g BOOL */
2380 #define MUIA_Register_Titles 0x804297ec /* V7 i.g STRPTR * */
2384 /****************************************************************************/
2385 /** Penadjust **/
2386 /****************************************************************************/
2388 #ifdef _DCC
2389 extern char MUIC_Penadjust[];
2390 #else
2391 #define MUIC_Penadjust "Penadjust.mui"
2392 #endif
2394 /* Methods */
2397 /* Attributes */
2399 #define MUIA_Penadjust_PSIMode 0x80421cbb /* V11 i.. BOOL */
2403 /****************************************************************************/
2404 /** Settingsgroup **/
2405 /****************************************************************************/
2407 #ifdef _DCC
2408 extern char MUIC_Settingsgroup[];
2409 #else
2410 #define MUIC_Settingsgroup "Settingsgroup.mui"
2411 #endif
2413 /* Methods */
2415 #define MUIM_Settingsgroup_ConfigToGadgets 0x80427043 /* V11 */
2416 #define MUIM_Settingsgroup_GadgetsToConfig 0x80425242 /* V11 */
2417 struct MUIP_Settingsgroup_ConfigToGadgets { ULONG MethodID; Object *configdata; };
2418 struct MUIP_Settingsgroup_GadgetsToConfig { ULONG MethodID; Object *configdata; };
2420 /* Attributes */
2425 /****************************************************************************/
2426 /** Settings **/
2427 /****************************************************************************/
2429 #ifdef _DCC
2430 extern char MUIC_Settings[];
2431 #else
2432 #define MUIC_Settings "Settings.mui"
2433 #endif
2435 /* Methods */
2438 /* Attributes */
2443 /****************************************************************************/
2444 /** Frameadjust **/
2445 /****************************************************************************/
2447 #ifdef _DCC
2448 extern char MUIC_Frameadjust[];
2449 #else
2450 #define MUIC_Frameadjust "Frameadjust.mui"
2451 #endif
2453 /* Methods */
2456 /* Attributes */
2461 /****************************************************************************/
2462 /** Imageadjust **/
2463 /****************************************************************************/
2465 #ifdef _DCC
2466 extern char MUIC_Imageadjust[];
2467 #else
2468 #define MUIC_Imageadjust "Imageadjust.mui"
2469 #endif
2471 /* Methods */
2474 /* Attributes */
2477 #define MUIV_Imageadjust_Type_All 0
2478 #define MUIV_Imageadjust_Type_Image 1
2479 #define MUIV_Imageadjust_Type_Background 2
2480 #define MUIV_Imageadjust_Type_Pen 3
2483 /****************************************************************************/
2484 /** Virtgroup **/
2485 /****************************************************************************/
2487 #ifdef _DCC
2488 extern char MUIC_Virtgroup[];
2489 #else
2490 #define MUIC_Virtgroup "Virtgroup.mui"
2491 #endif
2493 /* Methods */
2496 /* Attributes */
2498 #define MUIA_Virtgroup_Height 0x80423038 /* V6 ..g LONG */
2499 #define MUIA_Virtgroup_Input 0x80427f7e /* V11 i.. BOOL */
2500 #define MUIA_Virtgroup_Left 0x80429371 /* V6 isg LONG */
2501 #define MUIA_Virtgroup_Top 0x80425200 /* V6 isg LONG */
2502 #define MUIA_Virtgroup_Width 0x80427c49 /* V6 ..g LONG */
2506 /****************************************************************************/
2507 /** Scrollgroup **/
2508 /****************************************************************************/
2510 #ifdef _DCC
2511 extern char MUIC_Scrollgroup[];
2512 #else
2513 #define MUIC_Scrollgroup "Scrollgroup.mui"
2514 #endif
2516 /* Methods */
2519 /* Attributes */
2521 #define MUIA_Scrollgroup_Contents 0x80421261 /* V4 i.g Object * */
2522 #define MUIA_Scrollgroup_FreeHoriz 0x804292f3 /* V9 i.. BOOL */
2523 #define MUIA_Scrollgroup_FreeVert 0x804224f2 /* V9 i.. BOOL */
2524 #define MUIA_Scrollgroup_HorizBar 0x8042b63d /* V16 ..g Object * */
2525 #define MUIA_Scrollgroup_UseWinBorder 0x804284c1 /* V13 i.. BOOL */
2526 #define MUIA_Scrollgroup_VertBar 0x8042cdc0 /* V16 ..g Object * */
2530 /****************************************************************************/
2531 /** Scrollbar **/
2532 /****************************************************************************/
2534 #ifdef _DCC
2535 extern char MUIC_Scrollbar[];
2536 #else
2537 #define MUIC_Scrollbar "Scrollbar.mui"
2538 #endif
2540 /* Attributes */
2542 #define MUIA_Scrollbar_Type 0x8042fb6b /* V11 i.. LONG */
2544 #define MUIV_Scrollbar_Type_Default 0
2545 #define MUIV_Scrollbar_Type_Bottom 1
2546 #define MUIV_Scrollbar_Type_Top 2
2547 #define MUIV_Scrollbar_Type_Sym 3
2550 /****************************************************************************/
2551 /** Listview **/
2552 /****************************************************************************/
2554 #ifdef _DCC
2555 extern char MUIC_Listview[];
2556 #else
2557 #define MUIC_Listview "Listview.mui"
2558 #endif
2560 /* Attributes */
2562 #define MUIA_Listview_ClickColumn 0x8042d1b3 /* V7 ..g LONG */
2563 #define MUIA_Listview_DefClickColumn 0x8042b296 /* V7 isg LONG */
2564 #define MUIA_Listview_DoubleClick 0x80424635 /* V4 i.g BOOL */
2565 #define MUIA_Listview_DragType 0x80425cd3 /* V11 isg LONG */
2566 #define MUIA_Listview_Input 0x8042682d /* V4 i.. BOOL */
2567 #define MUIA_Listview_List 0x8042bcce /* V4 i.g Object * */
2568 #define MUIA_Listview_MultiSelect 0x80427e08 /* V7 i.. LONG */
2569 #define MUIA_Listview_ScrollerPos 0x8042b1b4 /* V10 i.. BOOL */
2570 #define MUIA_Listview_SelectChange 0x8042178f /* V4 ..g BOOL */
2572 #define MUIV_Listview_DragType_None 0
2573 #define MUIV_Listview_DragType_Immediate 1
2574 #define MUIV_Listview_MultiSelect_None 0
2575 #define MUIV_Listview_MultiSelect_Default 1
2576 #define MUIV_Listview_MultiSelect_Shifted 2
2577 #define MUIV_Listview_MultiSelect_Always 3
2578 #define MUIV_Listview_ScrollerPos_Default 0
2579 #define MUIV_Listview_ScrollerPos_Left 1
2580 #define MUIV_Listview_ScrollerPos_Right 2
2581 #define MUIV_Listview_ScrollerPos_None 3
2584 /****************************************************************************/
2585 /** Radio **/
2586 /****************************************************************************/
2588 #ifdef _DCC
2589 extern char MUIC_Radio[];
2590 #else
2591 #define MUIC_Radio "Radio.mui"
2592 #endif
2594 /* Attributes */
2596 #define MUIA_Radio_Active 0x80429b41 /* V4 isg LONG */
2597 #define MUIA_Radio_Entries 0x8042b6a1 /* V4 i.. STRPTR * */
2601 /****************************************************************************/
2602 /** Cycle **/
2603 /****************************************************************************/
2605 #ifdef _DCC
2606 extern char MUIC_Cycle[];
2607 #else
2608 #define MUIC_Cycle "Cycle.mui"
2609 #endif
2611 /* Attributes */
2613 #define MUIA_Cycle_Active 0x80421788 /* V4 isg LONG */
2614 #define MUIA_Cycle_Entries 0x80420629 /* V4 i.. STRPTR * */
2616 #define MUIV_Cycle_Active_Next -1
2617 #define MUIV_Cycle_Active_Prev -2
2620 /****************************************************************************/
2621 /** Coloradjust **/
2622 /****************************************************************************/
2624 #ifdef _DCC
2625 extern char MUIC_Coloradjust[];
2626 #else
2627 #define MUIC_Coloradjust "Coloradjust.mui"
2628 #endif
2630 /* Methods */
2633 /* Attributes */
2635 #define MUIA_Coloradjust_Blue 0x8042b8a3 /* V4 isg ULONG */
2636 #define MUIA_Coloradjust_Green 0x804285ab /* V4 isg ULONG */
2637 #define MUIA_Coloradjust_ModeID 0x8042ec59 /* V4 isg ULONG */
2638 #define MUIA_Coloradjust_Red 0x80420eaa /* V4 isg ULONG */
2639 #define MUIA_Coloradjust_RGB 0x8042f899 /* V4 isg ULONG * */
2643 /****************************************************************************/
2644 /** Palette **/
2645 /****************************************************************************/
2647 #ifdef _DCC
2648 extern char MUIC_Palette[];
2649 #else
2650 #define MUIC_Palette "Palette.mui"
2651 #endif
2653 /* Attributes */
2655 #define MUIA_Palette_Entries 0x8042a3d8 /* V6 i.g struct MUI_Palette_Entry * */
2656 #define MUIA_Palette_Groupable 0x80423e67 /* V6 isg BOOL */
2657 #define MUIA_Palette_Names 0x8042c3a2 /* V6 isg char ** */
2661 /****************************************************************************/
2662 /** Popstring **/
2663 /****************************************************************************/
2665 #ifdef _DCC
2666 extern char MUIC_Popstring[];
2667 #else
2668 #define MUIC_Popstring "Popstring.mui"
2669 #endif
2671 /* Methods */
2673 #define MUIM_Popstring_Close 0x8042dc52 /* V7 */
2674 #define MUIM_Popstring_Open 0x804258ba /* V7 */
2675 struct MUIP_Popstring_Close { ULONG MethodID; LONG result; };
2676 struct MUIP_Popstring_Open { ULONG MethodID; };
2678 /* Attributes */
2680 #define MUIA_Popstring_Button 0x8042d0b9 /* V7 i.g Object * */
2681 #define MUIA_Popstring_CloseHook 0x804256bf /* V7 isg struct Hook * */
2682 #define MUIA_Popstring_OpenHook 0x80429d00 /* V7 isg struct Hook * */
2683 #define MUIA_Popstring_String 0x804239ea /* V7 i.g Object * */
2684 #define MUIA_Popstring_Toggle 0x80422b7a /* V7 isg BOOL */
2688 /****************************************************************************/
2689 /** Popobject **/
2690 /****************************************************************************/
2692 #ifdef _DCC
2693 extern char MUIC_Popobject[];
2694 #else
2695 #define MUIC_Popobject "Popobject.mui"
2696 #endif
2698 /* Attributes */
2700 #define MUIA_Popobject_Follow 0x80424cb5 /* V7 isg BOOL */
2701 #define MUIA_Popobject_Light 0x8042a5a3 /* V7 isg BOOL */
2702 #define MUIA_Popobject_Object 0x804293e3 /* V7 i.g Object * */
2703 #define MUIA_Popobject_ObjStrHook 0x8042db44 /* V7 isg struct Hook * */
2704 #define MUIA_Popobject_StrObjHook 0x8042fbe1 /* V7 isg struct Hook * */
2705 #define MUIA_Popobject_Volatile 0x804252ec /* V7 isg BOOL */
2706 #define MUIA_Popobject_WindowHook 0x8042f194 /* V9 isg struct Hook * */
2710 /****************************************************************************/
2711 /** Poplist **/
2712 /****************************************************************************/
2714 #ifdef _DCC
2715 extern char MUIC_Poplist[];
2716 #else
2717 #define MUIC_Poplist "Poplist.mui"
2718 #endif
2720 /* Attributes */
2722 #define MUIA_Poplist_Array 0x8042084c /* V8 i.. char ** */
2726 /****************************************************************************/
2727 /** Popscreen **/
2728 /****************************************************************************/
2730 #ifdef _DCC
2731 extern char MUIC_Popscreen[];
2732 #else
2733 #define MUIC_Popscreen "Popscreen.mui"
2734 #endif
2736 /* Attributes */
2741 /****************************************************************************/
2742 /** Popasl **/
2743 /****************************************************************************/
2745 #ifdef _DCC
2746 extern char MUIC_Popasl[];
2747 #else
2748 #define MUIC_Popasl "Popasl.mui"
2749 #endif
2751 /* Attributes */
2753 #define MUIA_Popasl_Active 0x80421b37 /* V7 ..g BOOL */
2754 #define MUIA_Popasl_StartHook 0x8042b703 /* V7 isg struct Hook * */
2755 #define MUIA_Popasl_StopHook 0x8042d8d2 /* V7 isg struct Hook * */
2756 #define MUIA_Popasl_Type 0x8042df3d /* V7 i.g ULONG */
2760 /****************************************************************************/
2761 /** Semaphore **/
2762 /****************************************************************************/
2764 #ifdef _DCC
2765 extern char MUIC_Semaphore[];
2766 #else
2767 #define MUIC_Semaphore "Semaphore.mui"
2768 #endif
2770 /* Methods */
2772 #define MUIM_Semaphore_Attempt 0x80426ce2 /* V11 */
2773 #define MUIM_Semaphore_AttemptShared 0x80422551 /* V11 */
2774 #define MUIM_Semaphore_Obtain 0x804276f0 /* V11 */
2775 #define MUIM_Semaphore_ObtainShared 0x8042ea02 /* V11 */
2776 #define MUIM_Semaphore_Release 0x80421f2d /* V11 */
2777 struct MUIP_Semaphore_Attempt { ULONG MethodID; };
2778 struct MUIP_Semaphore_AttemptShared { ULONG MethodID; };
2779 struct MUIP_Semaphore_Obtain { ULONG MethodID; };
2780 struct MUIP_Semaphore_ObtainShared { ULONG MethodID; };
2781 struct MUIP_Semaphore_Release { ULONG MethodID; };
2784 /****************************************************************************/
2785 /** Applist **/
2786 /****************************************************************************/
2788 #ifdef _DCC
2789 extern char MUIC_Applist[];
2790 #else
2791 #define MUIC_Applist "Applist.mui"
2792 #endif
2794 /* Methods */
2798 /****************************************************************************/
2799 /** Cclist **/
2800 /****************************************************************************/
2802 #ifdef _DCC
2803 extern char MUIC_Cclist[];
2804 #else
2805 #define MUIC_Cclist "Cclist.mui"
2806 #endif
2808 /* Methods */
2812 /****************************************************************************/
2813 /** Dataspace **/
2814 /****************************************************************************/
2816 #ifdef _DCC
2817 extern char MUIC_Dataspace[];
2818 #else
2819 #define MUIC_Dataspace "Dataspace.mui"
2820 #endif
2822 /* Methods */
2824 #define MUIM_Dataspace_Add 0x80423366 /* V11 */
2825 #define MUIM_Dataspace_Clear 0x8042b6c9 /* V11 */
2826 #define MUIM_Dataspace_Find 0x8042832c /* V11 */
2827 #define MUIM_Dataspace_Merge 0x80423e2b /* V11 */
2828 #define MUIM_Dataspace_ReadIFF 0x80420dfb /* V11 */
2829 #define MUIM_Dataspace_Remove 0x8042dce1 /* V11 */
2830 #define MUIM_Dataspace_WriteIFF 0x80425e8e /* V11 */
2831 struct MUIP_Dataspace_Add { ULONG MethodID; APTR data; LONG len; ULONG id; };
2832 struct MUIP_Dataspace_Clear { ULONG MethodID; };
2833 struct MUIP_Dataspace_Find { ULONG MethodID; ULONG id; };
2834 struct MUIP_Dataspace_Merge { ULONG MethodID; Object *dataspace; };
2835 struct MUIP_Dataspace_ReadIFF { ULONG MethodID; struct IFFHandle *handle; };
2836 struct MUIP_Dataspace_Remove { ULONG MethodID; ULONG id; };
2837 struct MUIP_Dataspace_WriteIFF { ULONG MethodID; struct IFFHandle *handle; ULONG type; ULONG id; };
2839 /* Attributes */
2841 #define MUIA_Dataspace_Pool 0x80424cf9 /* V11 i.. APTR */
2845 /****************************************************************************/
2846 /** Configdata **/
2847 /****************************************************************************/
2849 #ifdef _DCC
2850 extern char MUIC_Configdata[];
2851 #else
2852 #define MUIC_Configdata "Configdata.mui"
2853 #endif
2855 /* Methods */
2858 /* Attributes */
2863 /****************************************************************************/
2864 /** Dtpic **/
2865 /****************************************************************************/
2867 #ifdef _DCC
2868 extern char MUIC_Dtpic[];
2869 #else
2870 #define MUIC_Dtpic "Dtpic.mui"
2871 #endif
2873 /* Attributes */
2878 /*****************************************/
2879 /* End of automatic header file creation */
2880 /*****************************************/
2888 /*************************************************************************
2889 ** Structures and Macros for creating custom classes.
2890 *************************************************************************/
2894 ** GENERAL NOTES:
2896 ** - Everything described in this header file is only valid within
2897 ** MUI classes. You may never use any of these things out of
2898 ** a class, e.g. in a traditional MUI application.
2900 ** - Except when otherwise stated, all structures are strictly read only.
2904 /* Global information for every object */
2906 struct MUI_GlobalInfo
2908 ULONG priv0;
2909 Object *mgi_ApplicationObject;
2911 /* ... private data follows ... */
2915 /* Instance data of notify class */
2917 struct MUI_NotifyData
2919 struct MUI_GlobalInfo *mnd_GlobalInfo;
2920 ULONG mnd_UserData;
2921 ULONG mnd_ObjectID;
2922 ULONG priv1;
2923 ULONG priv2;
2924 ULONG priv3;
2925 ULONG priv4;
2929 /* MUI_MinMax structure holds information about minimum, maximum
2930 and default dimensions of an object. */
2932 struct MUI_MinMax
2934 WORD MinWidth;
2935 WORD MinHeight;
2936 WORD MaxWidth;
2937 WORD MaxHeight;
2938 WORD DefWidth;
2939 WORD DefHeight;
2942 #define MUI_MAXMAX 10000 /* use this if a dimension is not limited. */
2945 /* Hook message for custom layout */
2947 struct MUI_LayoutMsg
2949 ULONG lm_Type; /* type of message (see defines below) */
2950 struct MinList *lm_Children; /* list of this groups children, traverse with NextObject() */
2951 struct MUI_MinMax lm_MinMax; /* results for MUILM_MINMAX */
2952 struct
2954 LONG Width;
2955 LONG Height;
2956 ULONG priv5;
2957 ULONG priv6;
2958 } lm_Layout; /* size (and result) for MUILM_LAYOUT */
2961 #define MUILM_MINMAX 1 /* MUI wants you to calc your min & max sizes */
2962 #define MUILM_LAYOUT 2 /* MUI wants you to layout your children */
2964 #define MUILM_UNKNOWN -1 /* return this if your hook doesn't implement lm_Type */
2967 /* (partial) instance data of area class */
2969 struct MUI_AreaData
2971 struct MUI_RenderInfo *mad_RenderInfo; /* RenderInfo for this object */
2972 ULONG priv7;
2973 struct TextFont *mad_Font; /* Font */
2974 struct MUI_MinMax mad_MinMax; /* min/max/default sizes */
2975 struct IBox mad_Box; /* position and dimension */
2976 BYTE mad_addleft; /* frame & innerspacing left offset */
2977 BYTE mad_addtop; /* frame & innerspacing top offset */
2978 BYTE mad_subwidth; /* frame & innerspacing add. width */
2979 BYTE mad_subheight; /* frame & innerspacing add. height */
2980 ULONG mad_Flags; /* see definitions below */
2982 /* ... private data follows ... */
2985 /* Definitions for mad_Flags, other flags are private */
2987 #define MADF_DRAWOBJECT (1<< 0) /* completely redraw yourself */
2988 #define MADF_DRAWUPDATE (1<< 1) /* only update yourself */
2992 /* MUI's draw pens */
2994 #define MPEN_SHINE 0
2995 #define MPEN_HALFSHINE 1
2996 #define MPEN_BACKGROUND 2
2997 #define MPEN_HALFSHADOW 3
2998 #define MPEN_SHADOW 4
2999 #define MPEN_TEXT 5
3000 #define MPEN_FILL 6
3001 #define MPEN_MARK 7
3002 #define MPEN_COUNT 8
3005 /* Mask for pens from MUI_ObtainPen() */
3007 #define MUIPEN_MASK 0x0000ffff
3008 #define MUIPEN(pen) ((pen) & MUIPEN_MASK)
3011 /* Information on display environment */
3013 struct MUI_RenderInfo
3015 Object *mri_WindowObject; /* valid between MUIM_Setup/MUIM_Cleanup */
3017 struct Screen *mri_Screen; /* valid between MUIM_Setup/MUIM_Cleanup */
3018 struct DrawInfo *mri_DrawInfo; /* valid between MUIM_Setup/MUIM_Cleanup */
3019 UWORD *mri_Pens; /* valid between MUIM_Setup/MUIM_Cleanup */
3020 struct Window *mri_Window; /* valid between MUIM_Show/MUIM_Hide */
3021 struct RastPort *mri_RastPort; /* valid between MUIM_Show/MUIM_Hide */
3023 ULONG mri_Flags; /* valid between MUIM_Setup/MUIM_Cleanup */
3025 /* ... private data follows ... */
3029 ** If mri_Flags & MUIMRI_RECTFILL, RectFill() is quicker
3030 ** than Move()/Draw() for horizontal or vertical lines.
3031 ** on the current display.
3033 #define MUIMRI_RECTFILL (1<<0)
3036 ** If mri_Flags & MUIMRI_TRUECOLOR, display environment is a
3037 ** cybergraphics emulated hicolor or true color display.
3039 #define MUIMRI_TRUECOLOR (1<<1)
3042 ** If mri_Flags & MUIMRI_THINFRAMES, MUI uses thin frames
3043 ** (1:1) apsect ratio instead of standard 2:1 frames.
3045 #define MUIMRI_THINFRAMES (1<<2)
3048 ** If mri_Flags & MUIMRI_REFRESHMODE, MUI is currently
3049 ** refreshing a WFLG_SIMPLEREFRESH window and is between
3050 ** a BeginRefresh()/EndRefresh() pair.
3052 #define MUIMRI_REFRESHMODE (1<<3)
3055 /* the following macros can be used to get pointers to an objects
3056 GlobalInfo and RenderInfo structures. */
3058 struct __dummyXFC2__
3060 struct MUI_NotifyData mnd;
3061 struct MUI_AreaData mad;
3064 #define muiNotifyData(obj) (&(((struct __dummyXFC2__ *)(obj))->mnd))
3065 #define muiAreaData(obj) (&(((struct __dummyXFC2__ *)(obj))->mad))
3067 #define muiGlobalInfo(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_GlobalInfo)
3068 #define muiUserData(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_UserData)
3069 #define muiRenderInfo(obj) (((struct __dummyXFC2__ *)(obj))->mad.mad_RenderInfo)
3073 /* User configurable keyboard events coming with MUIM_HandleInput */
3075 enum
3077 MUIKEY_RELEASE = -2, /* not a real key, faked when MUIKEY_PRESS is released */
3078 MUIKEY_NONE = -1,
3079 MUIKEY_PRESS,
3080 MUIKEY_TOGGLE,
3081 MUIKEY_UP,
3082 MUIKEY_DOWN,
3083 MUIKEY_PAGEUP,
3084 MUIKEY_PAGEDOWN,
3085 MUIKEY_TOP,
3086 MUIKEY_BOTTOM,
3087 MUIKEY_LEFT,
3088 MUIKEY_RIGHT,
3089 MUIKEY_WORDLEFT,
3090 MUIKEY_WORDRIGHT,
3091 MUIKEY_LINESTART,
3092 MUIKEY_LINEEND,
3093 MUIKEY_GADGET_NEXT,
3094 MUIKEY_GADGET_PREV,
3095 MUIKEY_GADGET_OFF,
3096 MUIKEY_WINDOW_CLOSE,
3097 MUIKEY_WINDOW_NEXT,
3098 MUIKEY_WINDOW_PREV,
3099 MUIKEY_HELP,
3100 MUIKEY_POPUP,
3101 MUIKEY_COUNT /* counter */
3104 #define MUIKEYF_PRESS (1<<MUIKEY_PRESS)
3105 #define MUIKEYF_TOGGLE (1<<MUIKEY_TOGGLE)
3106 #define MUIKEYF_UP (1<<MUIKEY_UP)
3107 #define MUIKEYF_DOWN (1<<MUIKEY_DOWN)
3108 #define MUIKEYF_PAGEUP (1<<MUIKEY_PAGEUP)
3109 #define MUIKEYF_PAGEDOWN (1<<MUIKEY_PAGEDOWN)
3110 #define MUIKEYF_TOP (1<<MUIKEY_TOP)
3111 #define MUIKEYF_BOTTOM (1<<MUIKEY_BOTTOM)
3112 #define MUIKEYF_LEFT (1<<MUIKEY_LEFT)
3113 #define MUIKEYF_RIGHT (1<<MUIKEY_RIGHT)
3114 #define MUIKEYF_WORDLEFT (1<<MUIKEY_WORDLEFT)
3115 #define MUIKEYF_WORDRIGHT (1<<MUIKEY_WORDRIGHT)
3116 #define MUIKEYF_LINESTART (1<<MUIKEY_LINESTART)
3117 #define MUIKEYF_LINEEND (1<<MUIKEY_LINEEND)
3118 #define MUIKEYF_GADGET_NEXT (1<<MUIKEY_GADGET_NEXT)
3119 #define MUIKEYF_GADGET_PREV (1<<MUIKEY_GADGET_PREV)
3120 #define MUIKEYF_GADGET_OFF (1<<MUIKEY_GADGET_OFF)
3121 #define MUIKEYF_WINDOW_CLOSE (1<<MUIKEY_WINDOW_CLOSE)
3122 #define MUIKEYF_WINDOW_NEXT (1<<MUIKEY_WINDOW_NEXT)
3123 #define MUIKEYF_WINDOW_PREV (1<<MUIKEY_WINDOW_PREV)
3124 #define MUIKEYF_HELP (1<<MUIKEY_HELP)
3125 #define MUIKEYF_POPUP (1<<MUIKEY_POPUP)
3128 /* Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them */
3129 /* NOTE: These macros may only be used in custom classes and are */
3130 /* only valid if your class is inbetween the specified methods! */
3132 #ifndef MUI_NOSHORTCUTS
3134 #define _app(obj) (muiGlobalInfo(obj)->mgi_ApplicationObject) /* valid between MUIM_Setup/Cleanup */
3135 #define _win(obj) (muiRenderInfo(obj)->mri_WindowObject) /* valid between MUIM_Setup/Cleanup */
3136 #define _dri(obj) (muiRenderInfo(obj)->mri_DrawInfo) /* valid between MUIM_Setup/Cleanup */
3137 #define _screen(obj) (muiRenderInfo(obj)->mri_Screen) /* valid between MUIM_Setup/Cleanup */
3138 #define _pens(obj) (muiRenderInfo(obj)->mri_Pens) /* valid between MUIM_Setup/Cleanup */
3139 #define _window(obj) (muiRenderInfo(obj)->mri_Window) /* valid between MUIM_Show/Hide */
3140 #define _rp(obj) (muiRenderInfo(obj)->mri_RastPort) /* valid between MUIM_Show/Hide */
3141 #define _left(obj) (muiAreaData(obj)->mad_Box.Left) /* valid during MUIM_Draw */
3142 #define _top(obj) (muiAreaData(obj)->mad_Box.Top) /* valid during MUIM_Draw */
3143 #define _width(obj) (muiAreaData(obj)->mad_Box.Width) /* valid during MUIM_Draw */
3144 #define _height(obj) (muiAreaData(obj)->mad_Box.Height) /* valid during MUIM_Draw */
3145 #define _right(obj) (_left(obj)+_width(obj)-1) /* valid during MUIM_Draw */
3146 #define _bottom(obj) (_top(obj)+_height(obj)-1) /* valid during MUIM_Draw */
3147 #define _addleft(obj) (muiAreaData(obj)->mad_addleft ) /* valid during MUIM_Draw */
3148 #define _addtop(obj) (muiAreaData(obj)->mad_addtop ) /* valid during MUIM_Draw */
3149 #define _subwidth(obj) (muiAreaData(obj)->mad_subwidth ) /* valid during MUIM_Draw */
3150 #define _subheight(obj) (muiAreaData(obj)->mad_subheight) /* valid during MUIM_Draw */
3151 #define _mleft(obj) (_left(obj)+_addleft(obj)) /* valid during MUIM_Draw */
3152 #define _mtop(obj) (_top(obj)+_addtop(obj)) /* valid during MUIM_Draw */
3153 #define _mwidth(obj) (_width(obj)-_subwidth(obj)) /* valid during MUIM_Draw */
3154 #define _mheight(obj) (_height(obj)-_subheight(obj)) /* valid during MUIM_Draw */
3155 #define _mright(obj) (_mleft(obj)+_mwidth(obj)-1) /* valid during MUIM_Draw */
3156 #define _mbottom(obj) (_mtop(obj)+_mheight(obj)-1) /* valid during MUIM_Draw */
3157 #define _font(obj) (muiAreaData(obj)->mad_Font) /* valid between MUIM_Setup/Cleanup */
3158 #define _minwidth(obj) (muiAreaData(obj)->mad_MinMax.MinWidth) /* valid between MUIM_Show/Hide */
3159 #define _minheight(obj) (muiAreaData(obj)->mad_MinMax.MinHeight) /* valid between MUIM_Show/Hide */
3160 #define _maxwidth(obj) (muiAreaData(obj)->mad_MinMax.MaxWidth) /* valid between MUIM_Show/Hide */
3161 #define _maxheight(obj) (muiAreaData(obj)->mad_MinMax.MaxHeight) /* valid between MUIM_Show/Hide */
3162 #define _defwidth(obj) (muiAreaData(obj)->mad_MinMax.DefWidth) /* valid between MUIM_Show/Hide */
3163 #define _defheight(obj) (muiAreaData(obj)->mad_MinMax.DefHeight) /* valid between MUIM_Show/Hide */
3164 #define _flags(obj) (muiAreaData(obj)->mad_Flags)
3166 #endif
3170 /* MUI_CustomClass returned by MUI_CreateCustomClass() */
3172 struct MUI_CustomClass
3174 APTR mcc_UserData; /* use for whatever you want */
3176 struct Library *mcc_UtilityBase; /* MUI has opened these libraries */
3177 struct Library *mcc_DOSBase; /* for you automatically. You can */
3178 struct Library *mcc_GfxBase; /* use them or decide to open */
3179 struct Library *mcc_IntuitionBase; /* your libraries yourself. */
3181 struct IClass *mcc_Super; /* pointer to super class */
3182 struct IClass *mcc_Class; /* pointer to the new class */
3184 /* ... private data follows ... */
3187 #ifdef __GNUC__
3188 #ifdef __PPC__
3189 #pragma pack()
3190 #endif
3191 #elif defined(__VBCC__)
3192 #pragma default-align
3193 #endif
3195 #endif /* MUI_H */