home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 5 / amigaformatcd05.iso / mui / developer / assembler / include / libraries / mui.i < prev   
Encoding:
Text File  |  1996-08-13  |  105.0 KB  |  3,391 lines

  1. ****************************************************************************
  2. **
  3. ** MUI - MagicUserInterface
  4. ** (c) 1993-95 by Stefan Stuntz
  5. **
  6. ** Main Header File
  7. **
  8. *** Assembler modifications 26-Aug-93 by Henri Veisterä.
  9. ** 
  10. *** Updated for MUI V2.2 25-Aug-94 by Paul Hickman.
  11. **
  12. **  Updated for MUI V3.1 and Assembler modifications 17-Dec-95 by
  13. **  Stefan Sommerfeld
  14. **
  15. ****************************************************************************
  16. ** General Header File Information
  17. ****************************************************************************
  18. **
  19. ** All macro and structure definitions follow these rules:
  20. **
  21. ** Name                       Meaning
  22. **
  23. ** MUIC_<class>               Name of a class
  24. ** MUIM_<class>_<method>      Method
  25. ** MUIP_<class>_<method>      Methods parameter structure
  26. ** MUIV_<class>_<method>_<x>  Special method value
  27. ** MUIA_<class>_<attrib>      Attribute
  28. ** MUIV_<class>_<attrib>_<x>  Special attribute value
  29. ** MUIE_<error>               Error return code from MUI_Error()
  30. ** MUII_<name>                Standard MUI image
  31. ** MUIX_<code>                Control codes for text strings
  32. ** MUIO_<name>                Object type for MUI_MakeObject()
  33. **
  34. ** MUIA_... attribute definitions are followed by a comment
  35. ** consisting of the three possible letters I, S and G.
  36. ** I: it's possible to specify this attribute at object creation time.
  37. ** S: it's possible to change this attribute with SetAttrs().
  38. ** G: it's possible to get this attribute with GetAttr().
  39. **
  40. ** Items marked with "Custom Class" are for use in custom classes only!
  41. */
  42.  
  43.  
  44.  
  45.    IFND LIBRARIES_MUI_I
  46. LIBRARIES_MUI_I SET 1
  47.  
  48.    IFND EXEC_TYPES_I
  49.    INCLUDE "exec/types.i"
  50.    ENDC  ;EXEC_TYPES_I
  51.  
  52.    IFND EXEC_TASKS_I
  53.    INCLUDE "exec/tasks.i"
  54.    ENDC  ;EXEC_TASKS_I
  55.  
  56.    IFND INTUITION_CLASSES_I
  57.    INCLUDE "intuition/classes.i"
  58.    ENDC  ;INTUITION_CLASSES_I
  59.  
  60.    IFND INTUITION_SCREENS_I
  61.    INCLUDE "intuition/screens.i"
  62.    ENDC  ;INTUITION_SCREENS_I
  63.  
  64.    IFND UTILITY_HOOKS_I
  65.    INCLUDE "utility/hooks.i"
  66.    ENDC  ;UTILITY_HOOKS_I
  67.  
  68.    IFND LIBRARIES_ASL_I
  69.    INCLUDE "libraries/asl.i"
  70.    ENDC
  71.  
  72.  
  73. ****************************************************************************
  74. ** Library specification
  75. ****************************************************************************
  76.  
  77. MUIMASTER_NAME MACRO
  78.          dc.b     "muimaster.library",0
  79.          even
  80.          ENDM
  81. MUIMASTER_VMIN EQU 13
  82. CALLMUI  MACRO   ; Func
  83.          move.l   _MUIMasterBase,a6
  84.          jsr      _LVO\1(a6)
  85.          ENDM
  86. NULL     EQU      0
  87. TRUE     EQU      1
  88. FALSE    EQU      NULL
  89.  
  90.  
  91. *************************************************************************
  92. ** Config items for MUIM_GetConfigItem
  93. *************************************************************************
  94.  
  95.  
  96. MUICFG_PublicScreen    = 36
  97.  
  98.  
  99. *************************************************************************
  100. ** Black box specification structures for images, pens, frames
  101. *************************************************************************
  102.  
  103.  STRUCTURE MUI_PenSpec,0
  104.    BYTE     mp_buf,32
  105.    LABEL    MUI_PenSpec_SIZEOF
  106.  
  107.  
  108. ****************************************************************************
  109. **
  110. ** For Boopsi Image Implementors Only:
  111. **
  112. ** If MUI is using a boopsi image object, it will send a special method
  113. ** immediately after object creation. This method has a parameter structure
  114. ** where the boopsi can fill in its minimum and maximum size and learn if
  115. ** its used in a horizontal or vertical context.
  116. **
  117. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  118. ** value. That's how MUI sees that the method is implemented.
  119. **
  120. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  121. **       implement it, minimum size will be 0 and maximum size unlimited.
  122. **
  123. ***************************************************************************/
  124.  
  125. MUIM_BoopsiQuery EQU      $80427157 ;* this is send to the boopsi and *
  126.                                     ;* must be used as return value   *
  127.  
  128.  STRUCTURE MUI_BoopsiQuery,0              ;* parameter structure *
  129.  
  130.  LONG     mbq_MethodID             ;* always MUIM_BoopsiQuery */
  131.  APTR     mbq_Screen               ;* obsolete, use mbq_RenderInfo */
  132.  LONG     mbq_Flags;               ;* read only, see below */
  133.  LONG     mbq_MinWidth             ;* write only, fill in min width  */
  134.  LONG     mbq_MinHeight             ;* write only, fill in min height */
  135.  LONG           mbq_MaxWidth             ;* write only, fill in max width  */
  136.  LONG           mbq_MaxHeight            ;* write only, fill in max height */
  137.  LONG           mbq_DefWidth             ;* write only, fill in def width  */
  138.  LONG           mbq_DefHeight            ;* write only, fill in def height */
  139.  APTR           mbq_RenderInfo             ;* read only, display context */
  140.  
  141.  LABEL MUI_BoopsiQuery_SIZEOF             ;* may grow in future ... */
  142.  
  143.  
  144. MUIP_BoopsiQuery EQU MUI_BoopsiQuery  ;* old structure name *
  145.  
  146. MBQF_HORIZ EQU 1<<0                   ;* object used in a horizontal *
  147.                                       ;* context (else vertical)     *
  148.  
  149. MBQ_MUI_MAXMAX EQU 10000              ;* use this for unlimited MaxWidth/Height *
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157. *************************************************************************
  158. ** Structures and Macros for creating custom classes.
  159. *************************************************************************
  160.  
  161.  
  162. *
  163. ** GENERAL NOTES:
  164. **
  165. ** - Everything described in this header file is only valid within
  166. **   MUI classes. You may never use any of these things out of
  167. **   a class, e.g. in a traditional MUI application.
  168. **
  169. ** - Except when otherwise stated, all structures are strictly read only.
  170. *
  171.  
  172.  
  173. * Global information for every object *
  174.  
  175.  STRUCTURE MUI_GlobalInfo,0
  176.  
  177.  LONG priv0
  178.  APTR mgi_ApplicationObject
  179.  
  180.  * ... private data follows ... *
  181.  
  182.  
  183.  
  184.  
  185. * Instance data of notify class *
  186.  
  187.  STRUCTURE MUI_NotifyData,0
  188.  
  189.  APTR mnd_GlobalInfo
  190.  LONG mnd_UserData
  191.  LONG priv1
  192.  LONG priv2
  193.  LONG priv3
  194.  LONG priv4
  195.  LONG priv5
  196.  
  197.  LABEL MUI_NotifyData_SIZEOF
  198.  
  199.  
  200. * MUI_MinMax structure holds information about minimum, maximum
  201. * and default dimensions of an object. *
  202.  
  203.  STRUCTURE MUI_MinMax,0
  204.  
  205.  WORD MinWidth
  206.  WORD MinHeight
  207.  WORD MaxWidth
  208.  WORD MaxHeight
  209.  WORD DefWidth
  210.  WORD DefHeight
  211.  
  212.  LABEL MUI_MinMax_SIZEOF
  213.  
  214.  
  215. MUI_MAXMAX EQU 10000 * use this if a dimension is not limited. *
  216.  
  217. * Hook message for custom layout *
  218.  
  219.  STRUCTURE MUI_LayoutMsg,0
  220.  
  221.  ULONG lm_Type;     * type of message (see defines below)                      *
  222.  STRUCT lm_Children,MUI_MinMax_SIZEOF   * list of this groups children, traverse with NextObject() */
  223.  STRUCT lm_MinMax,MUI_MinMax_SIZEOF     * results for MUILM_MINMAX                                 */
  224.  LONG Width
  225.  LONG Height
  226.  LABEL MUI_LayoutMsg_SIZEOF
  227.  
  228.  
  229. MUILM_MINMAX        EQU 1  * MUI wants you to calc your min & max sizes
  230. MUILM_LAYOUT        EQU 2  * MUI wants you to layout your children
  231. MUILM_UNKNOWN        EQU -1 * return this if your hook doesn't implement lm_Type
  232.  
  233.  
  234. * (partial) instance data of area class *
  235.  
  236.  STRUCTURE MUI_AreaData,0
  237.  
  238.  APTR mad_RenderInfo    ;* RenderInfo for this object *
  239.  ULONG priv6        ;
  240.  APTR mad_Font        ;* Font *
  241.  STRUCT mad_MinMax,MUI_MinMax_SIZEOF    ;* min/max/default sizes *
  242.  STRUCT mad_Box,ibox_SIZEOF    ;* position and dimension *
  243.  BYTE mad_addleft    ;* frame & innerspacing left offset *
  244.  BYTE mad_addtop    ;* frame & innerspacing top offset  *
  245.  BYTE mad_subwidth    ;* frame & innerspacing add. width  *
  246.  BYTE mad_subheight    ;* frame & innerspacing add. height *
  247.  LONG mad_Flags        ;* see definitions below *
  248.  
  249.         ;* ... private data follows ... *
  250.  
  251.  
  252. * Definitions for mad_Flags, other flags are private *
  253.  
  254. MADF_DRAWOBJECT    EQU         1<<0   * completely redraw yourself *
  255. MADF_DRAWUPDATE EQU         1<<1   * only update yourself *
  256.  
  257.  
  258.  
  259.  
  260. * MUI's draw pens *
  261.  
  262. MPEN_SHINE    EQU      0
  263. MPEN_HALFSHINE    EQU      1
  264. MPEN_BACKGROUND EQU      2
  265. MPEN_HALFSHADOW EQU      3
  266. MPEN_SHADOW    EQU      4
  267. MPEN_TEXT    EQU      5
  268. MPEN_FILL    EQU      6
  269. MPEN_MARK    EQU      7
  270. MPEN_COUNT    EQU      8
  271.  
  272. * Mask for pens from MUI_ObtainPen()
  273.  
  274. MUIPEN_MASK    EQU $0000ffff
  275.  
  276.  
  277. * Information on display environment *
  278.  
  279.  STRUCTURE MUI_RenderInfo,0
  280.  
  281.  APTR mri_WindowObject    ;* valid between MUIM_Setup/MUIM_Cleanup *
  282.  APTR mri_Screen    ;* valid between MUIM_Setup/MUIM_Cleanup *
  283.  APTR mri_DrawInfo    ;* valid between MUIM_Setup/MUIM_Cleanup *
  284.  WORD mri_Pens        ;* valid between MUIM_Setup/MUIM_Cleanup *
  285.  APTR mri_Window    ;* valid between MUIM_Show/MUIM_Hide *
  286.  APTR mri_RastPort    ;* valid between MUIM_Show/MUIM_Hide *
  287.  
  288.         ;* ... private data follows ... *
  289.  
  290.  
  291. *
  292. ** If mri_Flags & MUIMRI_RECTFILL, RectFill() is quicker
  293. ** than Move()/Draw() for horizontal or vertical lines.
  294. ** on the current display.
  295. *
  296. MUIMRI_RECTFILL        EQU 1<<0
  297.  
  298. *
  299. ** If mri_Flags & MUIMRI_TRUECOLOR, display environment is a
  300. ** cybergraphics emulated hicolor or true color display with
  301. ** an unlimited number of pens available. Obtain/ReleasePen()s
  302. ** as many as you want... :-)
  303. *
  304. MUIMRI_TRUECOLOR    EQU 1<<1
  305.  
  306. *
  307. ** If mri_Flags & MUIMRI_THINFRAMES, MUI uses thin frames
  308. ** (1:1) apsect ratio instead of standard 2:1 frames.
  309. *
  310. MUIMRI_THINFRAMES    EQU 1<<2
  311.  
  312. *
  313. ** If mri_Flags & MUIMRI_REFRESHMODE, MUI is currently
  314. ** refreshing a WFLG_SIMPLEREFRESH window and is between
  315. ** a BeginRefresh()/EndRefresh() pair.
  316. *
  317. MUIMRI_REFRESHMODE    EQU 1<<3
  318.  
  319.  
  320. * the following macros can be used to get pointers to an objects
  321. *   GlobalInfo and RenderInfo structures. */
  322. *
  323. *NOTE: These have not been converted from the C header.
  324. ;
  325. ;struct __dummyXFC2__ {
  326. ;
  327. ; STRUCT MUI_NotifyData mnd;
  328. ;    struct MUI_AreaData   mad;
  329. ;};
  330. ;
  331. ;#define muiNotifyData(obj) (&(((struct __dummyXFC2__ *)(obj))->mnd))
  332. ;#define muiAreaData(obj)   (&(((struct __dummyXFC2__ *)(obj))->mad))
  333. ;
  334. ;define muiGlobalInfo(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_GlobalInfo)
  335. ;#define muiUserData(obj)   (((struct __dummyXFC2__ *)(obj))->mnd.mnd_UserData)
  336. ;#define muiRenderInfo(obj) (((struct __dummyXFC2__ *)(obj))->mad.mad_RenderInfo)
  337.  
  338.  
  339.  
  340. * User configurable keyboard events coming with MUIM_HandleInput *
  341.  
  342.  
  343. MUIKEY_RELEASE         EQU -2 * not a real key, faked when MUIKEY_PRESS is released *
  344. MUIKEY_NONE            EQU -1 
  345. MUIKEY_PRESS        EQU  0
  346. MUIKEY_TOGGLE        EQU  1
  347. MUIKEY_UP        EQU  2        
  348. MUIKEY_DOWN        EQU  3
  349. MUIKEY_PAGEUP        EQU  4
  350. MUIKEY_PAGEDOWN        EQU  5
  351. MUIKEY_TOP        EQU  6
  352. MUIKEY_BOTTOM        EQU  7
  353. MUIKEY_LEFT        EQU  8
  354. MUIKEY_RIGHT        EQU  9
  355. MUIKEY_WORDLEFT        EQU 10
  356. MUIKEY_WORDRIGHT    EQU 11
  357. MUIKEY_LINESTART    EQU 12
  358. MUIKEY_LINEEND        EQU 13
  359. MUIKEY_GADGET_NEXT    EQU 14
  360. MUIKEY_GADGET_PREV    EQU 15
  361. MUIKEY_GADGET_OFF    EQU 16
  362. MUIKEY_WINDOW_CLOSE    EQU 17
  363. MUIKEY_WINDOW_NEXT    EQU 18
  364. MUIKEY_WINDOW_PREV    EQU 19
  365. MUIKEY_HELP        EQU 20
  366. MUIKEY_POPUP        EQU 21
  367. MUIKEY_COUNT         EQU 22 * counter *
  368.  
  369.  
  370. ********************************************************************
  371. * Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them *
  372.  
  373. * I Have left the original C macros here, so you can see what they are
  374. * for, but I have not converted them to assembler.
  375. *
  376. *
  377.  
  378. ;#define _app(obj)         (muiGlobalInfo(obj)->mgi_ApplicationObject)
  379. ;#define _win(obj)         (muiRenderInfo(obj)->mri_WindowObject)
  380. ;#define _dri(obj)         (muiRenderInfo(obj)->mri_DrawInfo)
  381. ;#define _window(obj)      (muiRenderInfo(obj)->mri_Window)
  382. ;#define _screen(obj)      (muiRenderInfo(obj)->mri_Screen)
  383. ;#define _rp(obj)          (muiRenderInfo(obj)->mri_RastPort)
  384. ;#define _left(obj)        (muiAreaData(obj)->mad_Box.Left)
  385. ;#define _top(obj)         (muiAreaData(obj)->mad_Box.Top)
  386. ;#define _width(obj)       (muiAreaData(obj)->mad_Box.Width)
  387. ;#define _height(obj)      (muiAreaData(obj)->mad_Box.Height)
  388. ;#define _right(obj)       (_left(obj)+_width(obj)-1)
  389. ;#define _bottom(obj)      (_top(obj)+_height(obj)-1)
  390. ;#define _addleft(obj)     (muiAreaData(obj)->mad_addleft  )
  391. ;#define _addtop(obj)      (muiAreaData(obj)->mad_addtop   )
  392. ;#define _subwidth(obj)    (muiAreaData(obj)->mad_subwidth )
  393. ;#define _subheight(obj)   (muiAreaData(obj)->mad_subheight)
  394. ;#define _mleft(obj)       (_left(obj)+_addleft(obj))
  395. ;#define _mtop(obj)        (_top(obj)+_addtop(obj))
  396. ;#define _mwidth(obj)      (_width(obj)-_subwidth(obj))
  397. ;#define _mheight(obj)     (_height(obj)-_subheight(obj))
  398. ;#define _mright(obj)      (_mleft(obj)+_mwidth(obj)-1)
  399. ;#define _mbottom(obj)     (_mtop(obj)+_mheight(obj)-1)
  400. ;#define _font(obj)        (muiAreaData(obj)->mad_Font)
  401. ;#define _flags(obj)       (muiAreaData(obj)->mad_Flags)
  402.  
  403.  
  404.  
  405.  
  406.  
  407. * MUI_CustomClass returned by MUI_CreateCustomClass() *
  408.  
  409.  STRUCTURE MUI_CustomClass,0
  410.  
  411.  APTR mcc_UserData    ;* use for whatever you want *
  412.  
  413.  APTR mcc_UtilityBase    ;* MUI has opened these libraries *
  414.  APTR mcc_DOSBase    ;* for you automatically. You can *
  415.  APTR mcc_GfxBase    ;* use them or decide to open     *
  416.  APTR mcc_IntuitionBase    ;* your libraries yourself.       *
  417.  
  418.  APTR mcc_Super        ;* pointer to super class   *
  419.  APTR mcc_Class        ;* pointer to the new class *
  420.  
  421.         ;* ... private data follows ... *
  422.  
  423. *************************************************************************
  424. ** Public Screen Stuff
  425. *************************************************************************
  426.  
  427. *
  428. ** NOTE: This stuff is only included to allow compilation of the supplied
  429. **       public screen manager for educational purposes. Everything
  430. **       here is subject to change without notice and I guarantee to
  431. **       do that just for fun!
  432. **       More info can be found in the screen manager source file.
  433. *
  434.  
  435. * The folowing labels are strings. You have to copy they to your source
  436. * if you want to use they.
  437.  
  438. ;PSD_INITIAL_NAME    dc.b    "(unnamed)",0
  439. ;PSD_INITIAL_TITLE    dc.b    "MUI Public Screen",0
  440. ;PSD_ID_MPUB        dc.l    'MPUB'
  441.  
  442. ;PSD_NAME_FRONTMOST    dc.b    "«Frontmost»",0
  443.  
  444. ;PSD_FILENAME_SAVE    dc.b    "envarc:mui/PublicScreens.iff",0
  445. ;PSD_FILENAME_USE    dc.b    "env:mui/PublicScreens.iff",0
  446.  
  447. PSD_MAXLEN_NAME            = 32
  448. PSD_MAXLEN_TITLE        = 128
  449. PSD_MAXLEN_FONT            = 48
  450. PSD_MAXLEN_BACKGROUND        = 256
  451. PSD_MAXSYSPENS            = 20
  452. PSD_NUMSYSPENS            = 12
  453. PSD_MAXMUIPENS            = 10
  454. PSD_NUMMUIPENS            = MPEN_COUNT
  455.  
  456.  STRUCTURE MUI_RGBcolor,0
  457.    ULONG red
  458.    ULONG green
  459.    ULONG blue
  460.    LABEL MUI_RGBcolor_SIZEOF
  461.  
  462.  STRUCTURE MUI_PubScreenDesc,0
  463.  
  464.    LONG  Version
  465.  
  466.    BYTE  Name,PSD_MAXLEN_NAME
  467.    BYTE  Title,PSD_MAXLEN_TITLE
  468.    BYTE  Font,PSD_MAXLEN_FONT
  469.    BYTE  Background,PSD_MAXLEN_BACKGROUND
  470.  
  471.    ULONG DisplayID
  472.  
  473.    UWORD DisplayWidth
  474.    UWORD DisplayHeight
  475.  
  476.    UBYTE DisplayDepth
  477.    UBYTE OverscanType
  478.    UBYTE AutoScroll
  479.    UBYTE NoDrag
  480.    UBYTE Exclusive
  481.    UBYTE Interleaved
  482.    UBYTE SysDefault
  483.    UBYTE Behind
  484.    UBYTE AutoClose
  485.    UBYTE CloseGadget
  486.    UBYTE Foreign
  487.    UBYTE Reserved,1+7*4
  488.  
  489.    STRUCT MUIPens,MUI_PenSpec_SIZEOF*PSD_MAXSYSPENS
  490.    STRUCT SysPens,MUI_RGBcolor_SIZEOF*PSD_MAXMUIPENS
  491.  
  492.    LONG Changed
  493.    APTR UserData
  494.    LABEL MUI_PubScreenDesc_SIZEOF
  495.  
  496.  STRUCTURE MUIS_InfoClient,MN_SIZE
  497.  
  498.   STRUCT Task,TC_SIZE
  499.   ULONG  muiic_sigbit
  500.   LABEL  MUIS_InfoClient_SIZEOF
  501.  
  502.  
  503. ***************************************************************************
  504. ** Object Types for MUI_MakeObject()
  505. ***************************************************************************
  506.  
  507. MUIO_Label        EQU    1   * STRPTR label, ULONG flags 
  508. MUIO_Button       EQU    2   * STRPTR label 
  509. MUIO_Checkmark    EQU    3   * STRPTR label
  510. MUIO_Cycle        EQU    4   * STRPTR label, STRPTR *entries 
  511. MUIO_Radio        EQU    5   * STRPTR label, STRPTR *entries 
  512. MUIO_Slider       EQU    6   * STRPTR label, LONG min, LONG max 
  513. MUIO_String       EQU    7   * STRPTR label, LONG maxlen 
  514. MUIO_PopButton    EQU    8   * STRPTR imagespec 
  515. MUIO_HSpace       EQU    9   * LONG space   
  516. MUIO_VSpace       EQU    10   * LONG space   
  517. MUIO_HBar         EQU    11   * LONG space   
  518. MUIO_VBar         EQU    12   * LONG space   
  519. MUIO_MenustripNM  EQU    13   * struct NewMenu .*ULONG flags 
  520. MUIO_Menuitem     EQU    14   * STRPTR label, STRPTR shortcut, ULONG flags, ULONG data 
  521. MUIO_BarTitle     EQU    15   * STRPTR label 
  522. MUIO_NumericButton  EQU    16   * STRPTR label, LONG min, LONG max, STRPTR format
  523.  
  524. MUIO_Label_SingleFrame EQU    1<<8
  525. MUIO_Label_DoubleFrame EQU    1<<9
  526. MUIO_Label_LeftAligned EQU    1<<10
  527. MUIO_Label_Centered    EQU    1<<11
  528. MUIO_Label_FreeVert    EQU    1<<12
  529.  
  530. MUIO_MenustripNM_CommandKeyCheck EQU    1<<0 * check for "localized" menu items such as "O\0Open"
  531.  
  532.  
  533. ****************************************************************************
  534. ** ARexx Interface
  535. ****************************************************************************
  536.  
  537.  STRUCTURE MUI_Command,0
  538.    APTR     mc_Name
  539.    APTR     mc_Template
  540.    LONG     mc_Parameters
  541.    STRUCT   mc_Hook,h_SIZEOF
  542.    STRUCT   mc_Reserved,4*5
  543.    LABEL    MUI_Command_SIZEOF
  544.  
  545. MC_TEMPLATE_ID EQU ~0
  546.  
  547.  
  548. MUI_RXERR_BADDEFINITION  EQU    -1
  549. MUI_RXERR_OUTOFMEMORY    EQU    -2
  550. MUI_RXERR_UNKNOWNCOMMAND EQU    -3
  551. MUI_RXERR_BADSYNTAX      EQU    -4
  552.  
  553.  
  554.  
  555. ****************************************************************************
  556. ** Return values for MUI_Error()
  557. ****************************************************************************
  558.  
  559. MUIE_OK                    EQU 0
  560. MUIE_OutOfMemory           EQU 1
  561. MUIE_OutOfGfxMemory        EQU 2
  562. MUIE_InvalidWindowObject   EQU 3
  563. MUIE_MissingLibrary        EQU 4
  564. MUIE_NoARexx               EQU 5
  565. MUIE_SingleTask            EQU 6
  566.  
  567.  
  568.  
  569. ****************************************************************************
  570. ** Standard MUI Images
  571. ****************************************************************************
  572.  
  573. MUII_WindowBack        EQU 0
  574. MUII_RequesterBack    EQU 1
  575. MUII_ButtonBack        EQU 2
  576. MUII_ListBack        EQU 3
  577. MUII_TextBack        EQU 4
  578. MUII_PropBack        EQU 5
  579. MUII_PopupBack        EQU 6
  580. MUII_SelectedBack    EQU 7
  581. MUII_ListCursor        EQU 8
  582. MUII_ListSelect        EQU 9
  583. MUII_ListSelCur        EQU 10
  584. MUII_ArrowUp        EQU 11
  585. MUII_ArrowDown        EQU 12
  586. MUII_ArrowLeft        EQU 13
  587. MUII_ArrowRight        EQU 14
  588. MUII_CheckMark        EQU 15
  589. MUII_RadioButton    EQU 16
  590. MUII_Cycle        EQU 17
  591. MUII_PopUp        EQU 18
  592. MUII_PopFile        EQU 19
  593. MUII_PopDrawer        EQU 20
  594. MUII_PropKnob        EQU 21
  595. MUII_Drawer        EQU 22
  596. MUII_HardDisk        EQU 23
  597. MUII_Disk        EQU 24
  598. MUII_Chip        EQU 25
  599. MUII_Volume        EQU 26
  600. MUII_PopUpBack        EQU 27
  601. MUII_Network        EQU 28
  602. MUII_Assign        EQU 29
  603. MUII_TapePlay        EQU 30
  604. MUII_TapePlayBack    EQU 31
  605. MUII_TapePause        EQU 32
  606. MUII_TapeStop        EQU 33
  607. MUII_TapeRecord        EQU 34
  608. MUII_GroupBack        EQU 35
  609. MUII_SliderBack        EQU 36
  610. MUII_SliderKnob        EQU 37
  611. MUII_TapeUp        EQU 38
  612. MUII_TapeDown        EQU 39
  613. MUII_PageBack        EQU 40
  614. MUII_ReadListBack    EQU 41
  615. MUII_Count        EQU 42
  616.  
  617. MUII_BACKGROUND        EQU 128    * These are direct color
  618. MUII_SHADOW        EQU 129    * combinations and are not
  619. MUII_SHINE        EQU 130    * affected by users prefs.
  620. MUII_FILL        EQU 131
  621. MUII_SHADOWBACK        EQU 132    * Generally, you should
  622. MUII_SHADOWFILL        EQU 133    * avoid using them. Better
  623. MUII_SHADOWSHINE    EQU 134    * use one of the customized
  624. MUII_FILLBACK        EQU 135    * images above.
  625. MUII_FILLSHINE        EQU 136
  626. MUII_SHINEBACK        EQU 137
  627. MUII_FILLBACK2        EQU 138
  628. MUII_HSHINEBACK        EQU 139
  629. MUII_HSHADOWBACK    EQU 140
  630. MUII_HSHINESHINE    EQU 141
  631. MUII_HSHADOWSHADOW    EQU 142
  632. MUII_MARKSHINE        EQU 143
  633. MUII_MARKHALFSHINE    EQU 144
  634. MUII_MARKBACKGROUND    EQU 145
  635. MUII_LASTPAT        EQU 145
  636.  
  637.  
  638. ****************************************************************************
  639. ** Special values for some methods 
  640. ****************************************************************************
  641.  
  642. MUIV_TriggerValue       EQU $49893131
  643. MUIV_NotTriggerValue    EQU $49893133
  644. MUIV_EveryTime          EQU $49893131
  645.  
  646. MUIV_Notify_Self    EQU 1
  647. MUIV_Notify_Window    EQU 2
  648. MUIV_Notify_Application    EQU 3
  649. MUIV_Notify_Parent    EQU 4
  650.  
  651. MUIV_Application_Save_ENV    EQU 0
  652. MUIV_Application_Save_ENVARC    EQU ~0
  653. MUIV_Application_Load_ENV    EQU 0
  654. MUIV_Application_Load_ENVARC    EQU ~0
  655.  
  656. MUIV_Application_ReturnID_Quit    EQU -1
  657.  
  658. MUIV_List_Insert_Top        EQU 0
  659. MUIV_List_Insert_Active        EQU -1
  660. MUIV_List_Insert_Sorted        EQU -2
  661. MUIV_List_Insert_Bottom        EQU -3
  662.  
  663. MUIV_List_Remove_First        EQU 0
  664. MUIV_List_Remove_Active        EQU -1
  665. MUIV_List_Remove_Last        EQU -2
  666. MUIV_List_Remove_Selected    EQU -3
  667.  
  668. MUIV_List_Select_Off        EQU 0
  669. MUIV_List_Select_On        EQU 1
  670. MUIV_List_Select_Toggle        EQU 2
  671. MUIV_List_Select_Ask        EQU 3
  672.  
  673. MUIV_List_GetEntry_Active    EQU -1
  674. MUIV_List_Select_Active        EQU -1
  675. MUIV_List_Select_All        EQU -2
  676.  
  677. MUIV_List_Redraw_Active        EQU -1
  678. MUIV_List_Redraw_All        EQU -2
  679.  
  680. MUIV_List_Move_Top        EQU 0
  681. MUIV_List_Move_Active        EQU -1
  682. MUIV_List_Move_Bottom        EQU -2
  683. MUIV_List_Move_Next        EQU -3 * only valid for second parameter 
  684. MUIV_List_Move_Previous        EQU -4 * only valid for second parameter
  685.  
  686. MUIV_List_Exchange_Top        EQU  0
  687. MUIV_List_Exchange_Active    EQU -1
  688. MUIV_List_Exchange_Bottom    EQU -2
  689. MUIV_List_Exchange_Next        EQU -3 * only valid for second parameter
  690. MUIV_List_Exchange_Previous    EQU -4 * only valid for second parameter
  691.  
  692. MUIV_List_Jump_Top        EQU 0
  693. MUIV_List_Jump_Active        EQU -1
  694. MUIV_List_Jump_Bottom        EQU -2
  695. MUIV_List_Jump_Up        EQU -4
  696. MUIV_List_Jump_Down        EQU -3
  697.  
  698. MUIV_List_NextSelected_Start    EQU -1
  699. MUIV_List_NextSelected_End    EQU -1
  700.  
  701. MUIV_DragQuery_Refuse        EQU 0
  702. MUIV_DragQuery_Accept        EQU 1
  703.  
  704. MUIV_DragReport_Abort        EQU 0
  705. MUIV_DragReport_Continue    EQU 1
  706. MUIV_DragReport_Lock        EQU 2
  707. MUIV_DragReport_Refresh        EQU 3
  708.  
  709. ***************************************************************************
  710. ** Parameter structures for some classes
  711. ***************************************************************************/
  712.  
  713.  STRUCTURE MUI_Palette_Entry,0
  714.    LONG    mpe_ID
  715.    LONG    mpe_Red
  716.    LONG    mpe_Green
  717.    LONG    mpe_Blue
  718.    LONG    mpe_Group
  719.    LABEL   MUI_Palette_Entry_SIZEOF
  720.  
  721. MUIV_Palette_Entry_End EQU -1
  722.  
  723.  
  724.  STRUCTURE MUI_Scrmodelist_Entry,0
  725.    APTR     sme_Name
  726.    LONG     sme_ModeID
  727.    LABEL    MUI_Scrmodelist_Entry_SIZEOF
  728.  
  729.  
  730.  STRUCTURE MUI_InputHandlerNode,MN_SIZE
  731.    APTR     ihn_Object
  732.    ULONG    ihn_Signals
  733.    ULONG    ihn_Flags
  734.    ULONG    ihn_Method
  735.    LABEL    MUI_InputHandlerNode_SIZEOF
  736.  
  737.  
  738.  
  739.  
  740. ;*********************************************
  741. ;** Begin of automatic header file creation **
  742. ;*********************************************
  743.  
  744.  
  745.  
  746.  
  747. ;****************************************************************************
  748. ;** Notify                                                                 **
  749. ;****************************************************************************
  750.  
  751. ;** Methods **
  752.  
  753. MUIM_CallHook                       EQU $8042b96b ;** V4  **
  754. MUIM_Export                         EQU $80420f1c ;** V12 **
  755. MUIM_FindUData                      EQU $8042c196 ;** V8  **
  756. MUIM_GetUData                       EQU $8042ed0c ;** V8  **
  757. MUIM_Import                         EQU $8042d012 ;** V12 **
  758. MUIM_KillNotify                     EQU $8042d240 ;** V4  **
  759. MUIM_MultiSet                       EQU $8042d356 ;** V7  **
  760. MUIM_NoNotifySet                    EQU $8042216f ;** V9  **
  761. MUIM_Notify                         EQU $8042c9cb ;** V4  **
  762. MUIM_Set                            EQU $8042549a ;** V4  **
  763. MUIM_SetAsString                    EQU $80422590 ;** V4  **
  764. MUIM_SetUData                       EQU $8042c920 ;** V8  **
  765. MUIM_SetUDataOnce                   EQU $8042ca19 ;** V11 **
  766. MUIM_WriteLong                      EQU $80428d86 ;** V6  **
  767. MUIM_WriteString                    EQU $80424bf4 ;** V6  **
  768.  
  769. ;** Attributes **
  770.  
  771. MUIA_ApplicationObject              EQU $8042d3ee ;** V4  ..g Object *          **
  772. MUIA_AppMessage                     EQU $80421955 ;** V5  ..g struct AppMessage * **
  773. MUIA_HelpLine                       EQU $8042a825 ;** V4  isg LONG              **
  774. MUIA_HelpNode                       EQU $80420b85 ;** V4  isg STRPTR            **
  775. MUIA_NoNotify                       EQU $804237f9 ;** V7  .s. BOOL              **
  776. MUIA_Parent                         EQU $8042e35f ;** V11 ..g Object *          **
  777. MUIA_Revision                       EQU $80427eaa ;** V4  ..g LONG              **
  778. MUIA_UserData                       EQU $80420313 ;** V4  isg ULONG             **
  779. MUIA_Version                        EQU $80422301 ;** V4  ..g LONG              **
  780.  
  781.  
  782.  
  783. ;****************************************************************************
  784. ;** Family                                                                 **
  785. ;****************************************************************************
  786.  
  787. ;** Methods **
  788.  
  789. MUIM_Family_AddHead                 EQU $8042e200 ;** V8  **
  790. MUIM_Family_AddTail                 EQU $8042d752 ;** V8  **
  791. MUIM_Family_Insert                  EQU $80424d34 ;** V8  **
  792. MUIM_Family_Remove                  EQU $8042f8a9 ;** V8  **
  793. MUIM_Family_Sort                    EQU $80421c49 ;** V8  **
  794. MUIM_Family_Transfer                EQU $8042c14a ;** V8  **
  795.  
  796. ;** Attributes **
  797.  
  798. MUIA_Family_Child                   EQU $8042c696 ;** V8  i.. Object *          **
  799. MUIA_Family_List                    EQU $80424b9e ;** V8  ..g struct MinList *  **
  800.  
  801.  
  802.  
  803. ;****************************************************************************
  804. ;** Menustrip                                                              **
  805. ;****************************************************************************
  806.  
  807. ;** Methods **
  808.  
  809.  
  810. ;** Attributes **
  811.  
  812. MUIA_Menustrip_Enabled              EQU $8042815b ;** V8  isg BOOL              **
  813.  
  814.  
  815.  
  816. ;****************************************************************************
  817. ;** Menu                                                                   **
  818. ;****************************************************************************
  819.  
  820. ;** Methods **
  821.  
  822.  
  823. ;** Attributes **
  824.  
  825. MUIA_Menu_Enabled                   EQU $8042ed48 ;** V8  isg BOOL              **
  826. MUIA_Menu_Title                     EQU $8042a0e3 ;** V8  isg STRPTR            **
  827.  
  828.  
  829.  
  830. ;****************************************************************************
  831. ;** Menuitem                                                               **
  832. ;****************************************************************************
  833.  
  834. ;** Methods **
  835.  
  836.  
  837. ;** Attributes **
  838.  
  839. MUIA_Menuitem_Checked               EQU $8042562a ;** V8  isg BOOL              **
  840. MUIA_Menuitem_Checkit               EQU $80425ace ;** V8  isg BOOL              **
  841. MUIA_Menuitem_Enabled               EQU $8042ae0f ;** V8  isg BOOL              **
  842. MUIA_Menuitem_Exclude               EQU $80420bc6 ;** V8  isg LONG              **
  843. MUIA_Menuitem_Shortcut              EQU $80422030 ;** V8  isg STRPTR            **
  844. MUIA_Menuitem_Title                 EQU $804218be ;** V8  isg STRPTR            **
  845. MUIA_Menuitem_Toggle                EQU $80424d5c ;** V8  isg BOOL              **
  846. MUIA_Menuitem_Trigger               EQU $80426f32 ;** V8  ..g struct MenuItem * **
  847.  
  848. MUIV_Menuitem_Shortcut_Check        EQU -1
  849.  
  850.  
  851. ;****************************************************************************
  852. ;** Application                                                            **
  853. ;****************************************************************************
  854.  
  855. ;** Methods **
  856.  
  857. MUIM_Application_AboutMUI           EQU $8042d21d ;** V14 **
  858. MUIM_Application_AddInputHandler    EQU $8042f099 ;** V11 **
  859. MUIM_Application_CheckRefresh       EQU $80424d68 ;** V11 **
  860. MUIM_Application_GetMenuCheck       EQU $8042c0a7 ;** V4  **
  861. MUIM_Application_GetMenuState       EQU $8042a58f ;** V4  **
  862. MUIM_Application_Input              EQU $8042d0f5 ;** V4  **
  863. MUIM_Application_InputBuffered      EQU $80427e59 ;** V4  **
  864. MUIM_Application_Load               EQU $8042f90d ;** V4  **
  865. MUIM_Application_NewInput           EQU $80423ba6 ;** V11 **
  866. MUIM_Application_OpenConfigWindow   EQU $804299ba ;** V11 **
  867. MUIM_Application_PushMethod         EQU $80429ef8 ;** V4  **
  868. MUIM_Application_RemInputHandler    EQU $8042e7af ;** V11 **
  869. MUIM_Application_ReturnID           EQU $804276ef ;** V4  **
  870. MUIM_Application_Save               EQU $804227ef ;** V4  **
  871. MUIM_Application_SetConfigItem      EQU $80424a80 ;** V11 **
  872. MUIM_Application_SetMenuCheck       EQU $8042a707 ;** V4  **
  873. MUIM_Application_SetMenuState       EQU $80428bef ;** V4  **
  874. MUIM_Application_ShowHelp           EQU $80426479 ;** V4  **
  875.  
  876. ;** Attributes **
  877.  
  878. MUIA_Application_Active             EQU $804260ab ;** V4  isg BOOL              **
  879. MUIA_Application_Author             EQU $80424842 ;** V4  i.g STRPTR            **
  880. MUIA_Application_Base               EQU $8042e07a ;** V4  i.g STRPTR            **
  881. MUIA_Application_Broker             EQU $8042dbce ;** V4  ..g Broker *          **
  882. MUIA_Application_BrokerHook         EQU $80428f4b ;** V4  isg struct Hook *     **
  883. MUIA_Application_BrokerPort         EQU $8042e0ad ;** V6  ..g struct MsgPort *  **
  884. MUIA_Application_BrokerPri          EQU $8042c8d0 ;** V6  i.g LONG              **
  885. MUIA_Application_Commands           EQU $80428648 ;** V4  isg struct MUI_Command * **
  886. MUIA_Application_Copyright          EQU $8042ef4d ;** V4  i.g STRPTR            **
  887. MUIA_Application_Description        EQU $80421fc6 ;** V4  i.g STRPTR            **
  888. MUIA_Application_DiskObject         EQU $804235cb ;** V4  isg struct DiskObject * **
  889. MUIA_Application_DoubleStart        EQU $80423bc6 ;** V4  ..g BOOL              **
  890. MUIA_Application_DropObject         EQU $80421266 ;** V5  is. Object *          **
  891. MUIA_Application_ForceQuit          EQU $804257df ;** V8  ..g BOOL              **
  892. MUIA_Application_HelpFile           EQU $804293f4 ;** V8  isg STRPTR            **
  893. MUIA_Application_Iconified          EQU $8042a07f ;** V4  .sg BOOL              **
  894. MUIA_Application_Menu               EQU $80420e1f ;** V4  i.g struct NewMenu *  **
  895. MUIA_Application_MenuAction         EQU $80428961 ;** V4  ..g ULONG             **
  896. MUIA_Application_MenuHelp           EQU $8042540b ;** V4  ..g ULONG             **
  897. MUIA_Application_Menustrip          EQU $804252d9 ;** V8  i.. Object *          **
  898. MUIA_Application_RexxHook           EQU $80427c42 ;** V7  isg struct Hook *     **
  899. MUIA_Application_RexxMsg            EQU $8042fd88 ;** V4  ..g struct RxMsg *    **
  900. MUIA_Application_RexxString         EQU $8042d711 ;** V4  .s. STRPTR            **
  901. MUIA_Application_SingleTask         EQU $8042a2c8 ;** V4  i.. BOOL              **
  902. MUIA_Application_Sleep              EQU $80425711 ;** V4  .s. BOOL              **
  903. MUIA_Application_Title              EQU $804281b8 ;** V4  i.g STRPTR            **
  904. MUIA_Application_UseCommodities     EQU $80425ee5 ;** V10 i.. BOOL              **
  905. MUIA_Application_UseRexx            EQU $80422387 ;** V10 i.. BOOL              **
  906. MUIA_Application_Version            EQU $8042b33f ;** V4  i.g STRPTR            **
  907. MUIA_Application_Window             EQU $8042bfe0 ;** V4  i.. Object *          **
  908. MUIA_Application_WindowList         EQU $80429abe ;** V13 ..g struct List *     **
  909.  
  910.  
  911.  
  912. ;****************************************************************************
  913. ;** Window                                                                 **
  914. ;****************************************************************************
  915.  
  916. ;** Methods **
  917.  
  918. MUIM_Window_GetMenuCheck            EQU $80420414 ;** V4  **
  919. MUIM_Window_GetMenuState            EQU $80420d2f ;** V4  **
  920. MUIM_Window_ScreenToBack            EQU $8042913d ;** V4  **
  921. MUIM_Window_ScreenToFront           EQU $804227a4 ;** V4  **
  922. MUIM_Window_SetCycleChain           EQU $80426510 ;** V4  **
  923. MUIM_Window_SetMenuCheck            EQU $80422243 ;** V4  **
  924. MUIM_Window_SetMenuState            EQU $80422b5e ;** V4  **
  925. MUIM_Window_ToBack                  EQU $8042152e ;** V4  **
  926. MUIM_Window_ToFront                 EQU $8042554f ;** V4  **
  927.  
  928. ;** Attributes **
  929.  
  930. MUIA_Window_Activate                EQU $80428d2f ;** V4  isg BOOL              **
  931. MUIA_Window_ActiveObject            EQU $80427925 ;** V4  .sg Object *          **
  932. MUIA_Window_AltHeight               EQU $8042cce3 ;** V4  i.g LONG              **
  933. MUIA_Window_AltLeftEdge             EQU $80422d65 ;** V4  i.g LONG              **
  934. MUIA_Window_AltTopEdge              EQU $8042e99b ;** V4  i.g LONG              **
  935. MUIA_Window_AltWidth                EQU $804260f4 ;** V4  i.g LONG              **
  936. MUIA_Window_AppWindow               EQU $804280cf ;** V5  i.. BOOL              **
  937. MUIA_Window_Backdrop                EQU $8042c0bb ;** V4  i.. BOOL              **
  938. MUIA_Window_Borderless              EQU $80429b79 ;** V4  i.. BOOL              **
  939. MUIA_Window_CloseGadget             EQU $8042a110 ;** V4  i.. BOOL              **
  940. MUIA_Window_CloseRequest            EQU $8042e86e ;** V4  ..g BOOL              **
  941. MUIA_Window_DefaultObject           EQU $804294d7 ;** V4  isg Object *          **
  942. MUIA_Window_DepthGadget             EQU $80421923 ;** V4  i.. BOOL              **
  943. MUIA_Window_DragBar                 EQU $8042045d ;** V4  i.. BOOL              **
  944. MUIA_Window_FancyDrawing            EQU $8042bd0e ;** V8  isg BOOL              **
  945. MUIA_Window_Height                  EQU $80425846 ;** V4  i.g LONG              **
  946. MUIA_Window_ID                      EQU $804201bd ;** V4  isg ULONG             **
  947. MUIA_Window_InputEvent              EQU $804247d8 ;** V4  ..g struct InputEvent * **
  948. MUIA_Window_IsSubWindow             EQU $8042b5aa ;** V4  isg BOOL              **
  949. MUIA_Window_LeftEdge                EQU $80426c65 ;** V4  i.g LONG              **
  950. MUIA_Window_Menu                    EQU $8042db94 ;** V4  i.. struct NewMenu *  **
  951. MUIA_Window_MenuAction              EQU $80427521 ;** V8  isg ULONG             **
  952. MUIA_Window_Menustrip               EQU $8042855e ;** V8  i.g Object *          **
  953. MUIA_Window_MouseObject             EQU $8042bf9b ;** V10 ..g Object *          **
  954. MUIA_Window_NeedsMouseObject        EQU $8042372a ;** V10 i.. BOOL              **
  955. MUIA_Window_NoMenus                 EQU $80429df5 ;** V4  is. BOOL              **
  956. MUIA_Window_Open                    EQU $80428aa0 ;** V4  .sg BOOL              **
  957. MUIA_Window_PublicScreen            EQU $804278e4 ;** V6  isg STRPTR            **
  958. MUIA_Window_RefWindow               EQU $804201f4 ;** V4  is. Object *          **
  959. MUIA_Window_RootObject              EQU $8042cba5 ;** V4  isg Object *          **
  960. MUIA_Window_Screen                  EQU $8042df4f ;** V4  isg struct Screen *   **
  961. MUIA_Window_ScreenTitle             EQU $804234b0 ;** V5  isg STRPTR            **
  962. MUIA_Window_SizeGadget              EQU $8042e33d ;** V4  i.. BOOL              **
  963. MUIA_Window_SizeRight               EQU $80424780 ;** V4  i.. BOOL              **
  964. MUIA_Window_Sleep                   EQU $8042e7db ;** V4  .sg BOOL              **
  965. MUIA_Window_Title                   EQU $8042ad3d ;** V4  isg STRPTR            **
  966. MUIA_Window_TopEdge                 EQU $80427c66 ;** V4  i.g LONG              **
  967. MUIA_Window_UseBottomBorderScroller EQU $80424e79 ;** V13 is. BOOL              **
  968. MUIA_Window_UseLeftBorderScroller   EQU $8042433e ;** V13 is. BOOL              **
  969. MUIA_Window_UseRightBorderScroller  EQU $8042c05e ;** V13 is. BOOL              **
  970. MUIA_Window_Width                   EQU $8042dcae ;** V4  i.g LONG              **
  971. MUIA_Window_Window                  EQU $80426a42 ;** V4  ..g struct Window *   **
  972.  
  973. MUIV_Window_ActiveObject_None       EQU 0
  974. MUIV_Window_ActiveObject_Next       EQU -1
  975. MUIV_Window_ActiveObject_Prev       EQU -2
  976. MUIV_Window_AltHeightMinMax         EQU 0
  977. MUIV_Window_AltHeightVisible        EQU -100
  978. MUIV_Window_AltHeightScreen         EQU -200
  979. MUIV_Window_AltHeight_Scaled        EQU -1000
  980. MUIV_Window_AltLeftEdge_Centered    EQU -1
  981. MUIV_Window_AltLeftEdge_Moused      EQU -2
  982. MUIV_Window_AltLeftEdge_NoChange    EQU -1000
  983. MUIV_Window_AltTopEdge_Centered     EQU -1
  984. MUIV_Window_AltTopEdge_Moused       EQU -2
  985. MUIV_Window_AltTopEdgeDelta         EQU -3
  986. MUIV_Window_AltTopEdge_NoChange     EQU -1000
  987. MUIV_Window_AltWidthMinMax          EQU 0
  988. MUIV_Window_AltWidthVisible         EQU -100
  989. MUIV_Window_AltWidthScreen          EQU -200
  990. MUIV_Window_AltWidth_Scaled         EQU -1000
  991. MUIV_Window_HeightMinMax            EQU 0
  992. MUIV_Window_HeightVisible           EQU -100
  993. MUIV_Window_HeightScreen            EQU -200
  994. MUIV_Window_Height_Scaled           EQU -1000
  995. MUIV_Window_Height_Default          EQU -1001
  996. MUIV_Window_LeftEdge_Centered       EQU -1
  997. MUIV_Window_LeftEdge_Moused         EQU -2
  998. MUIV_Window_Menu_NoMenu             EQU -1
  999. MUIV_Window_TopEdge_Centered        EQU -1
  1000. MUIV_Window_TopEdge_Moused          EQU -2
  1001. MUIV_Window_TopEdgeDelta            EQU -3
  1002. MUIV_Window_WidthMinMax             EQU 0
  1003. MUIV_Window_WidthVisible            EQU -100
  1004. MUIV_Window_WidthScreen             EQU -200
  1005. MUIV_Window_Width_Scaled            EQU -1000
  1006. MUIV_Window_Width_Default           EQU -1001
  1007.  
  1008.  
  1009. ;****************************************************************************
  1010. ;** Aboutmui                                                               **
  1011. ;****************************************************************************
  1012.  
  1013. ;** Methods **
  1014.  
  1015.  
  1016. ;** Attributes **
  1017.  
  1018. MUIA_Aboutmui_Application           EQU $80422523 ;** V11 i.. Object *          **
  1019.  
  1020.  
  1021.  
  1022. ;****************************************************************************
  1023. ;** Area                                                                   **
  1024. ;****************************************************************************
  1025.  
  1026. ;** Methods **
  1027.  
  1028. MUIM_AskMinMax                      EQU $80423874 ;** V4  **
  1029. MUIM_Cleanup                        EQU $8042d985 ;** V4  **
  1030. MUIM_ContextMenuBuild               EQU $80429d2e ;** V11 **
  1031. MUIM_ContextMenuChoice              EQU $80420f0e ;** V11 **
  1032. MUIM_DragBegin                      EQU $8042c03a ;** V11 **
  1033. MUIM_DragDrop                       EQU $8042c555 ;** V11 **
  1034. MUIM_DragFinish                     EQU $804251f0 ;** V11 **
  1035. MUIM_DragQuery                      EQU $80420261 ;** V11 **
  1036. MUIM_DragReport                     EQU $8042edad ;** V11 **
  1037. MUIM_Draw                           EQU $80426f3f ;** V4  **
  1038. MUIM_HandleInput                    EQU $80422a1a ;** V4  **
  1039. MUIM_Hide                           EQU $8042f20f ;** V4  **
  1040. MUIM_Setup                          EQU $80428354 ;** V4  **
  1041. MUIM_Show                           EQU $8042cc84 ;** V4  **
  1042.  
  1043. ;** Attributes **
  1044.  
  1045. MUIA_Background                     EQU $8042545b ;** V4  is. LONG              **
  1046. MUIA_BottomEdge                     EQU $8042e552 ;** V4  ..g LONG              **
  1047. MUIA_ContextMenu                    EQU $8042b704 ;** V11 isg Object *          **
  1048. MUIA_ContextMenuTrigger             EQU $8042a2c1 ;** V11 ..g Object *          **
  1049. MUIA_ControlChar                    EQU $8042120b ;** V4  isg char              **
  1050. MUIA_CycleChain                     EQU $80421ce7 ;** V11 isg LONG              **
  1051. MUIA_Disabled                       EQU $80423661 ;** V4  isg BOOL              **
  1052. MUIA_Draggable                      EQU $80420b6e ;** V11 isg BOOL              **
  1053. MUIA_Dropable                       EQU $8042fbce ;** V11 isg BOOL              **
  1054. MUIA_ExportID                       EQU $8042d76e ;** V4  isg ULONG             **
  1055. MUIA_FillArea                       EQU $804294a3 ;** V4  is. BOOL              **
  1056. MUIA_FixHeight                      EQU $8042a92b ;** V4  i.. LONG              **
  1057. MUIA_FixHeightTxt                   EQU $804276f2 ;** V4  i.. STRPTR            **
  1058. MUIA_FixWidth                       EQU $8042a3f1 ;** V4  i.. LONG              **
  1059. MUIA_FixWidthTxt                    EQU $8042d044 ;** V4  i.. STRPTR            **
  1060. MUIA_Font                           EQU $8042be50 ;** V4  i.g struct TextFont * **
  1061. MUIA_Frame                          EQU $8042ac64 ;** V4  i.. LONG              **
  1062. MUIA_FramePhantomHoriz              EQU $8042ed76 ;** V4  i.. BOOL              **
  1063. MUIA_FrameTitle                     EQU $8042d1c7 ;** V4  i.. STRPTR            **
  1064. MUIA_Height                         EQU $80423237 ;** V4  ..g LONG              **
  1065. MUIA_HorizDisappear                 EQU $80429615 ;** V11 isg LONG              **
  1066. MUIA_HorizWeight                    EQU $80426db9 ;** V4  isg WORD              **
  1067. MUIA_InnerBottom                    EQU $8042f2c0 ;** V4  i.g LONG              **
  1068. MUIA_InnerLeft                      EQU $804228f8 ;** V4  i.g LONG              **
  1069. MUIA_InnerRight                     EQU $804297ff ;** V4  i.g LONG              **
  1070. MUIA_InnerTop                       EQU $80421eb6 ;** V4  i.g LONG              **
  1071. MUIA_InputMode                      EQU $8042fb04 ;** V4  i.. LONG              **
  1072. MUIA_LeftEdge                       EQU $8042bec6 ;** V4  ..g LONG              **
  1073. MUIA_MaxHeight                      EQU $804293e4 ;** V11 i.. LONG              **
  1074. MUIA_MaxWidth                       EQU $8042f112 ;** V11 i.. LONG              **
  1075. MUIA_ObjectID                       EQU $8042d76e ;** V11 isg ULONG             **
  1076. MUIA_Pressed                        EQU $80423535 ;** V4  ..g BOOL              **
  1077. MUIA_RightEdge                      EQU $8042ba82 ;** V4  ..g LONG              **
  1078. MUIA_Selected                       EQU $8042654b ;** V4  isg BOOL              **
  1079. MUIA_ShortHelp                      EQU $80428fe3 ;** V11 isg STRPTR            **
  1080. MUIA_ShowMe                         EQU $80429ba8 ;** V4  isg BOOL              **
  1081. MUIA_ShowSelState                   EQU $8042caac ;** V4  i.. BOOL              **
  1082. MUIA_Timer                          EQU $80426435 ;** V4  ..g LONG              **
  1083. MUIA_TopEdge                        EQU $8042509b ;** V4  ..g LONG              **
  1084. MUIA_VertDisappear                  EQU $8042d12f ;** V11 isg LONG              **
  1085. MUIA_VertWeight                     EQU $804298d0 ;** V4  isg WORD              **
  1086. MUIA_Weight                         EQU $80421d1f ;** V4  i.. WORD              **
  1087. MUIA_Width                          EQU $8042b59c ;** V4  ..g LONG              **
  1088. MUIA_Window                         EQU $80421591 ;** V4  ..g struct Window *   **
  1089. MUIA_WindowObject                   EQU $8042669e ;** V4  ..g Object *          **
  1090.  
  1091. MUIV_Font_Inherit                   EQU 0
  1092. MUIV_Font_Normal                    EQU -1
  1093. MUIV_Font_List                      EQU -2
  1094. MUIV_Font_Tiny                      EQU -3
  1095. MUIV_Font_Fixed                     EQU -4
  1096. MUIV_Font_Title                     EQU -5
  1097. MUIV_Font_Big                       EQU -6
  1098. MUIV_Font_Button                    EQU -7
  1099. MUIV_Frame_None                     EQU 0
  1100. MUIV_Frame_Button                   EQU 1
  1101. MUIV_Frame_ImageButton              EQU 2
  1102. MUIV_Frame_Text                     EQU 3
  1103. MUIV_Frame_String                   EQU 4
  1104. MUIV_Frame_ReadList                 EQU 5
  1105. MUIV_Frame_InputList                EQU 6
  1106. MUIV_Frame_Prop                     EQU 7
  1107. MUIV_Frame_Gauge                    EQU 8
  1108. MUIV_Frame_Group                    EQU 9
  1109. MUIV_Frame_PopUp                    EQU 10
  1110. MUIV_Frame_Virtual                  EQU 11
  1111. MUIV_Frame_Slider                   EQU 12
  1112. MUIV_Frame_Count                    EQU 13
  1113. MUIV_InputMode_None                 EQU 0
  1114. MUIV_InputMode_RelVerify            EQU 1
  1115. MUIV_InputMode_Immediate            EQU 2
  1116. MUIV_InputMode_Toggle               EQU 3
  1117.  
  1118.  
  1119. ;****************************************************************************
  1120. ;** Rectangle                                                              **
  1121. ;****************************************************************************
  1122.  
  1123. ;** Attributes **
  1124.  
  1125. MUIA_Rectangle_BarTitle             EQU $80426689 ;** V11 i.g STRPTR            **
  1126. MUIA_Rectangle_HBar                 EQU $8042c943 ;** V7  i.g BOOL              **
  1127. MUIA_Rectangle_VBar                 EQU $80422204 ;** V7  i.g BOOL              **
  1128.  
  1129.  
  1130.  
  1131. ;****************************************************************************
  1132. ;** Balance                                                                **
  1133. ;****************************************************************************
  1134.  
  1135.  
  1136. ;****************************************************************************
  1137. ;** Image                                                                  **
  1138. ;****************************************************************************
  1139.  
  1140. ;** Attributes **
  1141.  
  1142. MUIA_Image_FontMatch                EQU $8042815d ;** V4  i.. BOOL              **
  1143. MUIA_Image_FontMatchHeight          EQU $80429f26 ;** V4  i.. BOOL              **
  1144. MUIA_Image_FontMatchWidth           EQU $804239bf ;** V4  i.. BOOL              **
  1145. MUIA_Image_FreeHoriz                EQU $8042da84 ;** V4  i.. BOOL              **
  1146. MUIA_Image_FreeVert                 EQU $8042ea28 ;** V4  i.. BOOL              **
  1147. MUIA_Image_OldImage                 EQU $80424f3d ;** V4  i.. struct Image *    **
  1148. MUIA_Image_Spec                     EQU $804233d5 ;** V4  i.. char *            **
  1149. MUIA_Image_State                    EQU $8042a3ad ;** V4  is. LONG              **
  1150.  
  1151.  
  1152.  
  1153. ;****************************************************************************
  1154. ;** Bitmap                                                                 **
  1155. ;****************************************************************************
  1156.  
  1157. ;** Attributes **
  1158.  
  1159. MUIA_Bitmap_Bitmap                  EQU $804279bd ;** V8  isg struct BitMap *   **
  1160. MUIA_Bitmap_Height                  EQU $80421560 ;** V8  isg LONG              **
  1161. MUIA_Bitmap_MappingTable            EQU $8042e23d ;** V8  isg UBYTE *           **
  1162. MUIA_Bitmap_Precision               EQU $80420c74 ;** V11 isg LONG              **
  1163. MUIA_Bitmap_RemappedBitmap          EQU $80423a47 ;** V11 ..g struct BitMap *   **
  1164. MUIA_Bitmap_SourceColors            EQU $80425360 ;** V8  isg ULONG *           **
  1165. MUIA_Bitmap_Transparent             EQU $80422805 ;** V8  isg LONG              **
  1166. MUIA_Bitmap_UseFriend               EQU $804239d8 ;** V11 i.. BOOL              **
  1167. MUIA_Bitmap_Width                   EQU $8042eb3a ;** V8  isg LONG              **
  1168.  
  1169.  
  1170.  
  1171. ;****************************************************************************
  1172. ;** Bodychunk                                                              **
  1173. ;****************************************************************************
  1174.  
  1175. ;** Attributes **
  1176.  
  1177. MUIA_Bodychunk_Body                 EQU $8042ca67 ;** V8  isg UBYTE *           **
  1178. MUIA_Bodychunk_Compression          EQU $8042de5f ;** V8  isg UBYTE             **
  1179. MUIA_Bodychunk_Depth                EQU $8042c392 ;** V8  isg LONG              **
  1180. MUIA_Bodychunk_Masking              EQU $80423b0e ;** V8  isg UBYTE             **
  1181.  
  1182.  
  1183.  
  1184. ;****************************************************************************
  1185. ;** Text                                                                   **
  1186. ;****************************************************************************
  1187.  
  1188. ;** Attributes **
  1189.  
  1190. MUIA_Text_Contents                  EQU $8042f8dc ;** V4  isg STRPTR            **
  1191. MUIA_Text_HiChar                    EQU $804218ff ;** V4  i.. char              **
  1192. MUIA_Text_PreParse                  EQU $8042566d ;** V4  isg STRPTR            **
  1193. MUIA_Text_SetMax                    EQU $80424d0a ;** V4  i.. BOOL              **
  1194. MUIA_Text_SetMin                    EQU $80424e10 ;** V4  i.. BOOL              **
  1195. MUIA_Text_SetVMax                   EQU $80420d8b ;** V11 i.. BOOL              **
  1196.  
  1197.  
  1198.  
  1199. ;****************************************************************************
  1200. ;** Gadget                                                                 **
  1201. ;****************************************************************************
  1202.  
  1203. ;** Attributes **
  1204.  
  1205. MUIA_Gadget_Gadget                  EQU $8042ec1a ;** V11 ..g struct Gadget *   **
  1206.  
  1207.  
  1208.  
  1209. ;****************************************************************************
  1210. ;** String                                                                 **
  1211. ;****************************************************************************
  1212.  
  1213. ;** Methods **
  1214.  
  1215.  
  1216. ;** Attributes **
  1217.  
  1218. MUIA_String_Accept                  EQU $8042e3e1 ;** V4  isg STRPTR            **
  1219. MUIA_String_Acknowledge             EQU $8042026c ;** V4  ..g STRPTR            **
  1220. MUIA_String_AdvanceOnCR             EQU $804226de ;** V11 isg BOOL              **
  1221. MUIA_String_AttachedList            EQU $80420fd2 ;** V4  i.. Object *          **
  1222. MUIA_String_BufferPos               EQU $80428b6c ;** V4  .sg LONG              **
  1223. MUIA_String_Contents                EQU $80428ffd ;** V4  isg STRPTR            **
  1224. MUIA_String_DisplayPos              EQU $8042ccbf ;** V4  .sg LONG              **
  1225. MUIA_String_EditHook                EQU $80424c33 ;** V7  isg struct Hook *     **
  1226. MUIA_String_Format                  EQU $80427484 ;** V4  i.g LONG              **
  1227. MUIA_String_Integer                 EQU $80426e8a ;** V4  isg ULONG             **
  1228. MUIA_String_LonelyEditHook          EQU $80421569 ;** V11 isg BOOL              **
  1229. MUIA_String_MaxLen                  EQU $80424984 ;** V4  i.g LONG              **
  1230. MUIA_String_Reject                  EQU $8042179c ;** V4  isg STRPTR            **
  1231. MUIA_String_Secret                  EQU $80428769 ;** V4  i.g BOOL              **
  1232.  
  1233. MUIV_String_Format_Left             EQU 0
  1234. MUIV_String_Format_Center           EQU 1
  1235. MUIV_String_Format_Right            EQU 2
  1236.  
  1237.  
  1238. ;****************************************************************************
  1239. ;** Boopsi                                                                 **
  1240. ;****************************************************************************
  1241.  
  1242. ;** Attributes **
  1243.  
  1244. MUIA_Boopsi_Class                   EQU $80426999 ;** V4  isg struct IClass *   **
  1245. MUIA_Boopsi_ClassID                 EQU $8042bfa3 ;** V4  isg char *            **
  1246. MUIA_Boopsi_MaxHeight               EQU $8042757f ;** V4  isg ULONG             **
  1247. MUIA_Boopsi_MaxWidth                EQU $8042bcb1 ;** V4  isg ULONG             **
  1248. MUIA_Boopsi_MinHeight               EQU $80422c93 ;** V4  isg ULONG             **
  1249. MUIA_Boopsi_MinWidth                EQU $80428fb2 ;** V4  isg ULONG             **
  1250. MUIA_Boopsi_Object                  EQU $80420178 ;** V4  ..g Object *          **
  1251. MUIA_Boopsi_Remember                EQU $8042f4bd ;** V4  i.. ULONG             **
  1252. MUIA_Boopsi_Smart                   EQU $8042b8d7 ;** V9  i.. BOOL              **
  1253. MUIA_Boopsi_TagDrawInfo             EQU $8042bae7 ;** V4  isg ULONG             **
  1254. MUIA_Boopsi_TagScreen               EQU $8042bc71 ;** V4  isg ULONG             **
  1255. MUIA_Boopsi_TagWindow               EQU $8042e11d ;** V4  isg ULONG             **
  1256.  
  1257.  
  1258.  
  1259. ;****************************************************************************
  1260. ;** Prop                                                                   **
  1261. ;****************************************************************************
  1262.  
  1263. ;** Attributes **
  1264.  
  1265. MUIA_Prop_Entries                   EQU $8042fbdb ;** V4  isg LONG              **
  1266. MUIA_Prop_First                     EQU $8042d4b2 ;** V4  isg LONG              **
  1267. MUIA_Prop_Horiz                     EQU $8042f4f3 ;** V4  i.g BOOL              **
  1268. MUIA_Prop_Slider                    EQU $80429c3a ;** V4  isg BOOL              **
  1269. MUIA_Prop_UseWinBorder              EQU $8042deee ;** V13 i.. LONG              **
  1270. MUIA_Prop_Visible                   EQU $8042fea6 ;** V4  isg LONG              **
  1271.  
  1272. MUIV_Prop_UseWinBorder_None         EQU 0
  1273. MUIV_Prop_UseWinBorder_Left         EQU 1
  1274. MUIV_Prop_UseWinBorder_Right        EQU 2
  1275. MUIV_Prop_UseWinBorder_Bottom       EQU 3
  1276.  
  1277.  
  1278. ;****************************************************************************
  1279. ;** Gauge                                                                  **
  1280. ;****************************************************************************
  1281.  
  1282. ;** Attributes **
  1283.  
  1284. MUIA_Gauge_Current                  EQU $8042f0dd ;** V4  isg LONG              **
  1285. MUIA_Gauge_Divide                   EQU $8042d8df ;** V4  isg BOOL              **
  1286. MUIA_Gauge_Horiz                    EQU $804232dd ;** V4  i.. BOOL              **
  1287. MUIA_Gauge_InfoText                 EQU $8042bf15 ;** V7  isg STRPTR            **
  1288. MUIA_Gauge_Max                      EQU $8042bcdb ;** V4  isg LONG              **
  1289.  
  1290.  
  1291.  
  1292. ;****************************************************************************
  1293. ;** Scale                                                                  **
  1294. ;****************************************************************************
  1295.  
  1296. ;** Attributes **
  1297.  
  1298. MUIA_Scale_Horiz                    EQU $8042919a ;** V4  isg BOOL              **
  1299.  
  1300.  
  1301.  
  1302. ;****************************************************************************
  1303. ;** Colorfield                                                             **
  1304. ;****************************************************************************
  1305.  
  1306. ;** Attributes **
  1307.  
  1308. MUIA_Colorfield_Blue                EQU $8042d3b0 ;** V4  isg ULONG             **
  1309. MUIA_Colorfield_Green               EQU $80424466 ;** V4  isg ULONG             **
  1310. MUIA_Colorfield_Pen                 EQU $8042713a ;** V4  ..g ULONG             **
  1311. MUIA_Colorfield_Red                 EQU $804279f6 ;** V4  isg ULONG             **
  1312. MUIA_Colorfield_RGB                 EQU $8042677a ;** V4  isg ULONG *           **
  1313.  
  1314.  
  1315.  
  1316. ;****************************************************************************
  1317. ;** List                                                                   **
  1318. ;****************************************************************************
  1319.  
  1320. ;** Methods **
  1321.  
  1322. MUIM_List_Clear                     EQU $8042ad89 ;** V4  **
  1323. MUIM_List_CreateImage               EQU $80429804 ;** V11 **
  1324. MUIM_List_DeleteImage               EQU $80420f58 ;** V11 **
  1325. MUIM_List_Exchange                  EQU $8042468c ;** V4  **
  1326. MUIM_List_GetEntry                  EQU $804280ec ;** V4  **
  1327. MUIM_List_Insert                    EQU $80426c87 ;** V4  **
  1328. MUIM_List_InsertSingle              EQU $804254d5 ;** V7  **
  1329. MUIM_List_Jump                      EQU $8042baab ;** V4  **
  1330. MUIM_List_Move                      EQU $804253c2 ;** V9  **
  1331. MUIM_List_NextSelected              EQU $80425f17 ;** V6  **
  1332. MUIM_List_Redraw                    EQU $80427993 ;** V4  **
  1333. MUIM_List_Remove                    EQU $8042647e ;** V4  **
  1334. MUIM_List_Select                    EQU $804252d8 ;** V4  **
  1335. MUIM_List_Sort                      EQU $80422275 ;** V4  **
  1336. MUIM_List_TestPos                   EQU $80425f48 ;** V11 **
  1337.  
  1338. ;** Attributes **
  1339.  
  1340. MUIA_List_Active                    EQU $8042391c ;** V4  isg LONG              **
  1341. MUIA_List_AdjustHeight              EQU $8042850d ;** V4  i.. BOOL              **
  1342. MUIA_List_AdjustWidth               EQU $8042354a ;** V4  i.. BOOL              **
  1343. MUIA_List_AutoVisible               EQU $8042a445 ;** V11 isg BOOL              **
  1344. MUIA_List_CompareHook               EQU $80425c14 ;** V4  is. struct Hook *     **
  1345. MUIA_List_ConstructHook             EQU $8042894f ;** V4  is. struct Hook *     **
  1346. MUIA_List_DestructHook              EQU $804297ce ;** V4  is. struct Hook *     **
  1347. MUIA_List_DisplayHook               EQU $8042b4d5 ;** V4  is. struct Hook *     **
  1348. MUIA_List_DragSortable              EQU $80426099 ;** V11 isg BOOL              **
  1349. MUIA_List_DropMark                  EQU $8042aba6 ;** V11 ..g LONG              **
  1350. MUIA_List_Entries                   EQU $80421654 ;** V4  ..g LONG              **
  1351. MUIA_List_First                     EQU $804238d4 ;** V4  ..g LONG              **
  1352. MUIA_List_Format                    EQU $80423c0a ;** V4  isg STRPTR            **
  1353. MUIA_List_InsertPosition            EQU $8042d0cd ;** V9  ..g LONG              **
  1354. MUIA_List_MinLineHeight             EQU $8042d1c3 ;** V4  i.. LONG              **
  1355. MUIA_List_MultiTestHook             EQU $8042c2c6 ;** V4  is. struct Hook *     **
  1356. MUIA_List_Pool                      EQU $80423431 ;** V13 i.. APTR              **
  1357. MUIA_List_PoolPuddleSize            EQU $8042a4eb ;** V13 i.. ULONG             **
  1358. MUIA_List_PoolThreshSize            EQU $8042c48c ;** V13 i.. ULONG             **
  1359. MUIA_List_Quiet                     EQU $8042d8c7 ;** V4  .s. BOOL              **
  1360. MUIA_List_ShowDropMarks             EQU $8042c6f3 ;** V11 isg BOOL              **
  1361. MUIA_List_SourceArray               EQU $8042c0a0 ;** V4  i.. APTR              **
  1362. MUIA_List_Title                     EQU $80423e66 ;** V6  isg char *            **
  1363. MUIA_List_Visible                   EQU $8042191f ;** V4  ..g LONG              **
  1364.  
  1365. MUIV_List_Active_Off                EQU -1
  1366. MUIV_List_Active_Top                EQU -2
  1367. MUIV_List_Active_Bottom             EQU -3
  1368. MUIV_List_Active_Up                 EQU -4
  1369. MUIV_List_Active_Down               EQU -5
  1370. MUIV_List_Active_PageUp             EQU -6
  1371. MUIV_List_Active_PageDown           EQU -7
  1372. MUIV_List_ConstructHook_String      EQU -1
  1373. MUIV_List_DestructHook_String       EQU -1
  1374.  
  1375.  
  1376. ;****************************************************************************
  1377. ;** Floattext                                                              **
  1378. ;****************************************************************************
  1379.  
  1380. ;** Attributes **
  1381.  
  1382. MUIA_Floattext_Justify              EQU $8042dc03 ;** V4  isg BOOL              **
  1383. MUIA_Floattext_SkipChars            EQU $80425c7d ;** V4  is. STRPTR            **
  1384. MUIA_Floattext_TabSize              EQU $80427d17 ;** V4  is. LONG              **
  1385. MUIA_Floattext_Text                 EQU $8042d16a ;** V4  isg STRPTR            **
  1386.  
  1387.  
  1388.  
  1389. ;****************************************************************************
  1390. ;** Volumelist                                                             **
  1391. ;****************************************************************************
  1392.  
  1393.  
  1394. ;****************************************************************************
  1395. ;** Scrmodelist                                                            **
  1396. ;****************************************************************************
  1397.  
  1398. ;** Attributes **
  1399.  
  1400.  
  1401.  
  1402.  
  1403. ;****************************************************************************
  1404. ;** Dirlist                                                                **
  1405. ;****************************************************************************
  1406.  
  1407. ;** Methods **
  1408.  
  1409. MUIM_Dirlist_ReRead                 EQU $80422d71 ;** V4  **
  1410.  
  1411. ;** Attributes **
  1412.  
  1413. MUIA_Dirlist_AcceptPattern          EQU $8042760a ;** V4  is. STRPTR            **
  1414. MUIA_Dirlist_Directory              EQU $8042ea41 ;** V4  isg STRPTR            **
  1415. MUIA_Dirlist_DrawersOnly            EQU $8042b379 ;** V4  is. BOOL              **
  1416. MUIA_Dirlist_FilesOnly              EQU $8042896a ;** V4  is. BOOL              **
  1417. MUIA_Dirlist_FilterDrawers          EQU $80424ad2 ;** V4  is. BOOL              **
  1418. MUIA_Dirlist_FilterHook             EQU $8042ae19 ;** V4  is. struct Hook *     **
  1419. MUIA_Dirlist_MultiSelDirs           EQU $80428653 ;** V6  is. BOOL              **
  1420. MUIA_Dirlist_NumBytes               EQU $80429e26 ;** V4  ..g LONG              **
  1421. MUIA_Dirlist_NumDrawers             EQU $80429cb8 ;** V4  ..g LONG              **
  1422. MUIA_Dirlist_NumFiles               EQU $8042a6f0 ;** V4  ..g LONG              **
  1423. MUIA_Dirlist_Path                   EQU $80426176 ;** V4  ..g STRPTR            **
  1424. MUIA_Dirlist_RejectIcons            EQU $80424808 ;** V4  is. BOOL              **
  1425. MUIA_Dirlist_RejectPattern          EQU $804259c7 ;** V4  is. STRPTR            **
  1426. MUIA_Dirlist_SortDirs               EQU $8042bbb9 ;** V4  is. LONG              **
  1427. MUIA_Dirlist_SortHighLow            EQU $80421896 ;** V4  is. BOOL              **
  1428. MUIA_Dirlist_SortType               EQU $804228bc ;** V4  is. LONG              **
  1429. MUIA_Dirlist_Status                 EQU $804240de ;** V4  ..g LONG              **
  1430.  
  1431. MUIV_Dirlist_SortDirs_First         EQU 0
  1432. MUIV_Dirlist_SortDirs_Last          EQU 1
  1433. MUIV_Dirlist_SortDirs_Mix           EQU 2
  1434. MUIV_Dirlist_SortType_Name          EQU 0
  1435. MUIV_Dirlist_SortType_Date          EQU 1
  1436. MUIV_Dirlist_SortType_Size          EQU 2
  1437. MUIV_Dirlist_Status_Invalid         EQU 0
  1438. MUIV_Dirlist_Status_Reading         EQU 1
  1439. MUIV_Dirlist_Status_Valid           EQU 2
  1440.  
  1441.  
  1442. ;****************************************************************************
  1443. ;** Numeric                                                                **
  1444. ;****************************************************************************
  1445.  
  1446. ;** Methods **
  1447.  
  1448. MUIM_Numeric_Decrease               EQU $804243a7 ;** V11 **
  1449. MUIM_Numeric_Increase               EQU $80426ecd ;** V11 **
  1450. MUIM_Numeric_ScaleToValue           EQU $8042032c ;** V11 **
  1451. MUIM_Numeric_SetDefault             EQU $8042ab0a ;** V11 **
  1452. MUIM_Numeric_Stringify              EQU $80424891 ;** V11 **
  1453. MUIM_Numeric_ValueToScale           EQU $80423e4f ;** V11 **
  1454.  
  1455. ;** Attributes **
  1456.  
  1457. MUIA_Numeric_Default                EQU $804263e8 ;** V11 isg LONG              **
  1458. MUIA_Numeric_Format                 EQU $804263e9 ;** V11 isg STRPTR            **
  1459. MUIA_Numeric_Max                    EQU $8042d78a ;** V11 isg LONG              **
  1460. MUIA_Numeric_Min                    EQU $8042e404 ;** V11 isg LONG              **
  1461. MUIA_Numeric_Reverse                EQU $8042f2a0 ;** V11 isg BOOL              **
  1462. MUIA_Numeric_RevLeftRight           EQU $804294a7 ;** V11 isg BOOL              **
  1463. MUIA_Numeric_RevUpDown              EQU $804252dd ;** V11 isg BOOL              **
  1464. MUIA_Numeric_Value                  EQU $8042ae3a ;** V11 isg LONG              **
  1465.  
  1466.  
  1467.  
  1468. ;****************************************************************************
  1469. ;** Framedisplay                                                           **
  1470. ;****************************************************************************
  1471.  
  1472. ;** Attributes **
  1473.  
  1474.  
  1475.  
  1476.  
  1477. ;****************************************************************************
  1478. ;** Popframe                                                               **
  1479. ;****************************************************************************
  1480.  
  1481.  
  1482. ;****************************************************************************
  1483. ;** Imagedisplay                                                           **
  1484. ;****************************************************************************
  1485.  
  1486. ;** Attributes **
  1487.  
  1488.  
  1489.  
  1490.  
  1491. ;****************************************************************************
  1492. ;** Popimage                                                               **
  1493. ;****************************************************************************
  1494.  
  1495.  
  1496. ;****************************************************************************
  1497. ;** Pendisplay                                                             **
  1498. ;****************************************************************************
  1499.  
  1500. ;** Methods **
  1501.  
  1502. MUIM_Pendisplay_SetColormap         EQU $80426c80 ;** V13 **
  1503. MUIM_Pendisplay_SetMUIPen           EQU $8042039d ;** V13 **
  1504. MUIM_Pendisplay_SetRGB              EQU $8042c131 ;** V13 **
  1505.  
  1506. ;** Attributes **
  1507.  
  1508. MUIA_Pendisplay_Pen                 EQU $8042a748 ;** V13 ..g Object *          **
  1509. MUIA_Pendisplay_Reference           EQU $8042dc24 ;** V13 isg Object *          **
  1510. MUIA_Pendisplay_RGBcolor            EQU $8042a1a9 ;** V11 isg struct MUI_RBBcolor * **
  1511. MUIA_Pendisplay_Spec                EQU $8042a204 ;** V11 isg struct MUI_PenSpec  * **
  1512.  
  1513.  
  1514.  
  1515. ;****************************************************************************
  1516. ;** Poppen                                                                 **
  1517. ;****************************************************************************
  1518.  
  1519.  
  1520. ;****************************************************************************
  1521. ;** Knob                                                                   **
  1522. ;****************************************************************************
  1523.  
  1524.  
  1525. ;****************************************************************************
  1526. ;** Levelmeter                                                             **
  1527. ;****************************************************************************
  1528.  
  1529. ;** Attributes **
  1530.  
  1531. MUIA_Levelmeter_Label               EQU $80420dd5 ;** V11 isg STRPTR            **
  1532.  
  1533.  
  1534.  
  1535. ;****************************************************************************
  1536. ;** Numericbutton                                                          **
  1537. ;****************************************************************************
  1538.  
  1539.  
  1540. ;****************************************************************************
  1541. ;** Slider                                                                 **
  1542. ;****************************************************************************
  1543.  
  1544. ;** Attributes **
  1545.  
  1546. MUIA_Slider_Horiz                   EQU $8042fad1 ;** V11 isg BOOL              **
  1547. MUIA_Slider_Level                   EQU $8042ae3a ;** V4  isg LONG              **
  1548. MUIA_Slider_Max                     EQU $8042d78a ;** V4  isg LONG              **
  1549. MUIA_Slider_Min                     EQU $8042e404 ;** V4  isg LONG              **
  1550. MUIA_Slider_Quiet                   EQU $80420b26 ;** V6  i.. BOOL              **
  1551. MUIA_Slider_Reverse                 EQU $8042f2a0 ;** V4  isg BOOL              **
  1552.  
  1553.  
  1554.  
  1555. ;****************************************************************************
  1556. ;** Group                                                                  **
  1557. ;****************************************************************************
  1558.  
  1559. ;** Methods **
  1560.  
  1561. MUIM_Group_ExitChange               EQU $8042d1cc ;** V11 **
  1562. MUIM_Group_InitChange               EQU $80420887 ;** V11 **
  1563.  
  1564. ;** Attributes **
  1565.  
  1566. MUIA_Group_ActivePage               EQU $80424199 ;** V5  isg LONG              **
  1567. MUIA_Group_Child                    EQU $804226e6 ;** V4  i.. Object *          **
  1568. MUIA_Group_ChildList                EQU $80424748 ;** V4  ..g struct List *     **
  1569. MUIA_Group_Columns                  EQU $8042f416 ;** V4  is. LONG              **
  1570. MUIA_Group_Horiz                    EQU $8042536b ;** V4  i.. BOOL              **
  1571. MUIA_Group_HorizSpacing             EQU $8042c651 ;** V4  isg LONG              **
  1572. MUIA_Group_LayoutHook               EQU $8042c3b2 ;** V11 i.. struct Hook *     **
  1573. MUIA_Group_PageMode                 EQU $80421a5f ;** V5  i.. BOOL              **
  1574. MUIA_Group_Rows                     EQU $8042b68f ;** V4  is. LONG              **
  1575. MUIA_Group_SameHeight               EQU $8042037e ;** V4  i.. BOOL              **
  1576. MUIA_Group_SameSize                 EQU $80420860 ;** V4  i.. BOOL              **
  1577. MUIA_Group_SameWidth                EQU $8042b3ec ;** V4  i.. BOOL              **
  1578. MUIA_Group_Spacing                  EQU $8042866d ;** V4  is. LONG              **
  1579. MUIA_Group_VertSpacing              EQU $8042e1bf ;** V4  isg LONG              **
  1580.  
  1581. MUIV_Group_ActivePage_First         EQU 0
  1582. MUIV_Group_ActivePage_Last          EQU -1
  1583. MUIV_Group_ActivePage_Prev          EQU -2
  1584. MUIV_Group_ActivePage_Next          EQU -3
  1585. MUIV_Group_ActivePage_Advance       EQU -4
  1586.  
  1587.  
  1588. ;****************************************************************************
  1589. ;** Mccprefs                                                               **
  1590. ;****************************************************************************
  1591.  
  1592.  
  1593. ;****************************************************************************
  1594. ;** Register                                                               **
  1595. ;****************************************************************************
  1596.  
  1597. ;** Attributes **
  1598.  
  1599. MUIA_Register_Frame                 EQU $8042349b ;** V7  i.g BOOL              **
  1600. MUIA_Register_Titles                EQU $804297ec ;** V7  i.g STRPTR *          **
  1601.  
  1602.  
  1603.  
  1604. ;****************************************************************************
  1605. ;** Settingsgroup                                                          **
  1606. ;****************************************************************************
  1607.  
  1608. ;** Methods **
  1609.  
  1610.  
  1611. ;** Attributes **
  1612.  
  1613.  
  1614.  
  1615.  
  1616. ;****************************************************************************
  1617. ;** Settings                                                               **
  1618. ;****************************************************************************
  1619.  
  1620. ;** Methods **
  1621.  
  1622.  
  1623. ;** Attributes **
  1624.  
  1625.  
  1626.  
  1627.  
  1628. ;****************************************************************************
  1629. ;** Frameadjust                                                            **
  1630. ;****************************************************************************
  1631.  
  1632. ;** Methods **
  1633.  
  1634.  
  1635. ;** Attributes **
  1636.  
  1637.  
  1638.  
  1639.  
  1640. ;****************************************************************************
  1641. ;** Penadjust                                                              **
  1642. ;****************************************************************************
  1643.  
  1644. ;** Methods **
  1645.  
  1646.  
  1647. ;** Attributes **
  1648.  
  1649. MUIA_Penadjust_PSIMode              EQU $80421cbb ;** V11 i.. BOOL              **
  1650.  
  1651.  
  1652.  
  1653. ;****************************************************************************
  1654. ;** Imageadjust                                                            **
  1655. ;****************************************************************************
  1656.  
  1657. ;** Methods **
  1658.  
  1659.  
  1660. ;** Attributes **
  1661.  
  1662.  
  1663.  
  1664.  
  1665. ;****************************************************************************
  1666. ;** Virtgroup                                                              **
  1667. ;****************************************************************************
  1668.  
  1669. ;** Methods **
  1670.  
  1671.  
  1672. ;** Attributes **
  1673.  
  1674. MUIA_Virtgroup_Height               EQU $80423038 ;** V6  ..g LONG              **
  1675. MUIA_Virtgroup_Input                EQU $80427f7e ;** V11 i.. BOOL              **
  1676. MUIA_Virtgroup_Left                 EQU $80429371 ;** V6  isg LONG              **
  1677. MUIA_Virtgroup_Top                  EQU $80425200 ;** V6  isg LONG              **
  1678. MUIA_Virtgroup_Width                EQU $80427c49 ;** V6  ..g LONG              **
  1679.  
  1680.  
  1681.  
  1682. ;****************************************************************************
  1683. ;** Scrollgroup                                                            **
  1684. ;****************************************************************************
  1685.  
  1686. ;** Methods **
  1687.  
  1688.  
  1689. ;** Attributes **
  1690.  
  1691. MUIA_Scrollgroup_Contents           EQU $80421261 ;** V4  i.. Object *          **
  1692. MUIA_Scrollgroup_FreeHoriz          EQU $804292f3 ;** V9  i.. BOOL              **
  1693. MUIA_Scrollgroup_FreeVert           EQU $804224f2 ;** V9  i.. BOOL              **
  1694. MUIA_Scrollgroup_UseWinBorder       EQU $804284c1 ;** V13 i.. BOOL              **
  1695.  
  1696.  
  1697.  
  1698. ;****************************************************************************
  1699. ;** Scrollbar                                                              **
  1700. ;****************************************************************************
  1701.  
  1702. ;** Attributes **
  1703.  
  1704. MUIA_Scrollbar_Type                 EQU $8042fb6b ;** V11 i.. LONG              **
  1705.  
  1706. MUIV_Scrollbar_Type_Default         EQU 0
  1707. MUIV_Scrollbar_Type_Bottom          EQU 1
  1708. MUIV_Scrollbar_Type_Top             EQU 2
  1709. MUIV_Scrollbar_Type_Sym             EQU 3
  1710.  
  1711.  
  1712. ;****************************************************************************
  1713. ;** Listview                                                               **
  1714. ;****************************************************************************
  1715.  
  1716. ;** Attributes **
  1717.  
  1718. MUIA_Listview_ClickColumn           EQU $8042d1b3 ;** V7  ..g LONG              **
  1719. MUIA_Listview_DefClickColumn        EQU $8042b296 ;** V7  isg LONG              **
  1720. MUIA_Listview_DoubleClick           EQU $80424635 ;** V4  i.g BOOL              **
  1721. MUIA_Listview_DragType              EQU $80425cd3 ;** V11 isg LONG              **
  1722. MUIA_Listview_Input                 EQU $8042682d ;** V4  i.. BOOL              **
  1723. MUIA_Listview_List                  EQU $8042bcce ;** V4  i.g Object *          **
  1724. MUIA_Listview_MultiSelect           EQU $80427e08 ;** V7  i.. LONG              **
  1725. MUIA_Listview_ScrollerPos           EQU $8042b1b4 ;** V10 i.. BOOL              **
  1726. MUIA_Listview_SelectChange          EQU $8042178f ;** V4  ..g BOOL              **
  1727.  
  1728. MUIV_Listview_DragType_None         EQU 0
  1729. MUIV_Listview_DragType_Immediate    EQU 1
  1730. MUIV_Listview_MultiSelect_None      EQU 0
  1731. MUIV_Listview_MultiSelect_Default   EQU 1
  1732. MUIV_Listview_MultiSelect_Shifted   EQU 2
  1733. MUIV_Listview_MultiSelect_Always    EQU 3
  1734. MUIV_Listview_ScrollerPos_Default   EQU 0
  1735. MUIV_Listview_ScrollerPos_Left      EQU 1
  1736. MUIV_Listview_ScrollerPos_Right     EQU 2
  1737. MUIV_Listview_ScrollerPos_None      EQU 3
  1738.  
  1739.  
  1740. ;****************************************************************************
  1741. ;** Radio                                                                  **
  1742. ;****************************************************************************
  1743.  
  1744. ;** Attributes **
  1745.  
  1746. MUIA_Radio_Active                   EQU $80429b41 ;** V4  isg LONG              **
  1747. MUIA_Radio_Entries                  EQU $8042b6a1 ;** V4  i.. STRPTR *          **
  1748.  
  1749.  
  1750.  
  1751. ;****************************************************************************
  1752. ;** Cycle                                                                  **
  1753. ;****************************************************************************
  1754.  
  1755. ;** Attributes **
  1756.  
  1757. MUIA_Cycle_Active                   EQU $80421788 ;** V4  isg LONG              **
  1758. MUIA_Cycle_Entries                  EQU $80420629 ;** V4  i.. STRPTR *          **
  1759.  
  1760. MUIV_Cycle_Active_Next              EQU -1
  1761. MUIV_Cycle_Active_Prev              EQU -2
  1762.  
  1763.  
  1764. ;****************************************************************************
  1765. ;** Coloradjust                                                            **
  1766. ;****************************************************************************
  1767.  
  1768. ;** Methods **
  1769.  
  1770.  
  1771. ;** Attributes **
  1772.  
  1773. MUIA_Coloradjust_Blue               EQU $8042b8a3 ;** V4  isg ULONG             **
  1774. MUIA_Coloradjust_Green              EQU $804285ab ;** V4  isg ULONG             **
  1775. MUIA_Coloradjust_ModeID             EQU $8042ec59 ;** V4  isg ULONG             **
  1776. MUIA_Coloradjust_Red                EQU $80420eaa ;** V4  isg ULONG             **
  1777. MUIA_Coloradjust_RGB                EQU $8042f899 ;** V4  isg ULONG *           **
  1778.  
  1779.  
  1780.  
  1781. ;****************************************************************************
  1782. ;** Palette                                                                **
  1783. ;****************************************************************************
  1784.  
  1785. ;** Attributes **
  1786.  
  1787. MUIA_Palette_Entries                EQU $8042a3d8 ;** V6  i.g struct MUI_Palette_Entry * **
  1788. MUIA_Palette_Groupable              EQU $80423e67 ;** V6  isg BOOL              **
  1789. MUIA_Palette_Names                  EQU $8042c3a2 ;** V6  isg char **           **
  1790.  
  1791.  
  1792.  
  1793. ;****************************************************************************
  1794. ;** Popstring                                                              **
  1795. ;****************************************************************************
  1796.  
  1797. ;** Methods **
  1798.  
  1799. MUIM_Popstring_Close                EQU $8042dc52 ;** V7  **
  1800. MUIM_Popstring_Open                 EQU $804258ba ;** V7  **
  1801.  
  1802. ;** Attributes **
  1803.  
  1804. MUIA_Popstring_Button               EQU $8042d0b9 ;** V7  i.g Object *          **
  1805. MUIA_Popstring_CloseHook            EQU $804256bf ;** V7  isg struct Hook *     **
  1806. MUIA_Popstring_OpenHook             EQU $80429d00 ;** V7  isg struct Hook *     **
  1807. MUIA_Popstring_String               EQU $804239ea ;** V7  i.g Object *          **
  1808. MUIA_Popstring_Toggle               EQU $80422b7a ;** V7  isg BOOL              **
  1809.  
  1810.  
  1811.  
  1812. ;****************************************************************************
  1813. ;** Popobject                                                              **
  1814. ;****************************************************************************
  1815.  
  1816. ;** Attributes **
  1817.  
  1818. MUIA_Popobject_Follow               EQU $80424cb5 ;** V7  isg BOOL              **
  1819. MUIA_Popobject_Light                EQU $8042a5a3 ;** V7  isg BOOL              **
  1820. MUIA_Popobject_Object               EQU $804293e3 ;** V7  i.g Object *          **
  1821. MUIA_Popobject_ObjStrHook           EQU $8042db44 ;** V7  isg struct Hook *     **
  1822. MUIA_Popobject_StrObjHook           EQU $8042fbe1 ;** V7  isg struct Hook *     **
  1823. MUIA_Popobject_Volatile             EQU $804252ec ;** V7  isg BOOL              **
  1824. MUIA_Popobject_WindowHook           EQU $8042f194 ;** V9  isg struct Hook *     **
  1825.  
  1826.  
  1827.  
  1828. ;****************************************************************************
  1829. ;** Poplist                                                                **
  1830. ;****************************************************************************
  1831.  
  1832. ;** Attributes **
  1833.  
  1834. MUIA_Poplist_Array                  EQU $8042084c ;** V8  i.. char **           **
  1835.  
  1836.  
  1837.  
  1838. ;****************************************************************************
  1839. ;** Popscreen                                                              **
  1840. ;****************************************************************************
  1841.  
  1842. ;** Attributes **
  1843.  
  1844.  
  1845.  
  1846.  
  1847. ;****************************************************************************
  1848. ;** Popasl                                                                 **
  1849. ;****************************************************************************
  1850.  
  1851. ;** Attributes **
  1852.  
  1853. MUIA_Popasl_Active                  EQU $80421b37 ;** V7  ..g BOOL              **
  1854. MUIA_Popasl_StartHook               EQU $8042b703 ;** V7  isg struct Hook *     **
  1855. MUIA_Popasl_StopHook                EQU $8042d8d2 ;** V7  isg struct Hook *     **
  1856. MUIA_Popasl_Type                    EQU $8042df3d ;** V7  i.g ULONG             **
  1857.  
  1858.  
  1859.  
  1860. ;****************************************************************************
  1861. ;** Semaphore                                                              **
  1862. ;****************************************************************************
  1863.  
  1864. ;** Methods **
  1865.  
  1866. MUIM_Semaphore_Attempt              EQU $80426ce2 ;** V11 **
  1867. MUIM_Semaphore_AttemptShared        EQU $80422551 ;** V11 **
  1868. MUIM_Semaphore_Obtain               EQU $804276f0 ;** V11 **
  1869. MUIM_Semaphore_ObtainShared         EQU $8042ea02 ;** V11 **
  1870. MUIM_Semaphore_Release              EQU $80421f2d ;** V11 **
  1871.  
  1872.  
  1873. ;****************************************************************************
  1874. ;** Applist                                                                **
  1875. ;****************************************************************************
  1876.  
  1877. ;** Methods **
  1878.  
  1879.  
  1880.  
  1881. ;****************************************************************************
  1882. ;** Dataspace                                                              **
  1883. ;****************************************************************************
  1884.  
  1885. ;** Methods **
  1886.  
  1887. MUIM_Dataspace_Add                  EQU $80423366 ;** V11 **
  1888. MUIM_Dataspace_Clear                EQU $8042b6c9 ;** V11 **
  1889. MUIM_Dataspace_Merge                EQU $80423e2b ;** V11 **
  1890. MUIM_Dataspace_ReadIFF              EQU $80420dfb ;** V11 **
  1891. MUIM_Dataspace_Remove               EQU $8042dce1 ;** V11 **
  1892. MUIM_Dataspace_WriteIFF             EQU $80425e8e ;** V11 **
  1893.  
  1894. ;** Attributes **
  1895.  
  1896. MUIA_Dataspace_Pool                 EQU $80424cf9 ;** V11 i.. APTR              **
  1897.  
  1898.  
  1899.  
  1900. ;****************************************************************************
  1901. ;** Configdata                                                             **
  1902. ;****************************************************************************
  1903.  
  1904. ;** Methods **
  1905.  
  1906.  
  1907. ;** Attributes **
  1908.  
  1909.  
  1910.  
  1911.  
  1912. ;*******************************************
  1913. ;** End of automatic header file creation **
  1914. ;*******************************************
  1915.  
  1916.  
  1917.  
  1918.  
  1919. ****************************************************************************
  1920. **
  1921. ** Macro Section
  1922. ** -------------
  1923. **
  1924. ** To make GUI creation more easy and understandable, you can use the
  1925. ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
  1926. ** them.
  1927. **
  1928. ** These macros are available to C programmers only.
  1929. **
  1930. *** NOTE: This .i file contains the corresponding macros for
  1931. *** assembler programmers.  All assembler related comments are
  1932. *** marked with three *'s.  The original comments and examples for
  1933. *** C are still intact.
  1934. **
  1935. ****************************************************************************
  1936.  
  1937.    IFND MUI_NOSHORTCUTS
  1938.  
  1939.  
  1940.  
  1941. ****************************************************************************
  1942. **
  1943. ** Object Generation
  1944. ** -----------------
  1945. **
  1946. ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
  1947. ** Every xxxObject can be followed by tagitems specifying initial create
  1948. ** time attributes for the new object and must be terminated with the
  1949. ** End macro:
  1950. **
  1951. ** obj = StringObject,
  1952. **          MUIA_String_Contents, "foo",
  1953. **          MUIA_String_MaxLen  , 40,
  1954. **          End;
  1955. **
  1956. ** With the Child, SubWindow and WindowContents shortcuts you can
  1957. ** construct a complete GUI within one command:
  1958. **
  1959. ** app = ApplicationObject,
  1960. **
  1961. **          ...
  1962. **
  1963. **          SubWindow, WindowObject,
  1964. **             WindowContents, VGroup,
  1965. **                Child, String("foo",40),
  1966. **                Child, String("bar",50),
  1967. **                Child, HGroup,
  1968. **                   Child, CheckMark(TRUE),
  1969. **                   Child, CheckMark(FALSE),
  1970. **                   End,
  1971. **                End,
  1972. **             End,
  1973. **
  1974. **          SubWindow, WindowObject,
  1975. **             WindowContents, HGroup,
  1976. **                Child, ...,
  1977. **                Child, ...,
  1978. **                End,
  1979. **             End,
  1980. **
  1981. **          ...
  1982. **
  1983. **          End;
  1984. **
  1985. ****************************************************************************
  1986.  
  1987.  
  1988. ****************************************************************************
  1989. ***
  1990. *** These assembler macros behave somewhat in the same way as the C macros
  1991. *** but with some minor differences:
  1992. *** The macro names End, and SET are already in use in most assembler
  1993. *** compilers, so they are replaced with Endi and seti (for consistencys
  1994. *** sake get is also renamed to geti).
  1995. ***
  1996. *** You must provide memory for all the taglists needed in the object
  1997. *** creation.  The maximum memory needed is passed to you in the 
  1998. *** TAG_SPACE variable.  This is not the mimimum memory needed in most
  1999. *** cases and is often a few kilos too large, but this is the best I
  2000. *** could come up with the assembler macro commands.
  2001. *** Note that you must store the value of TAG_SPACE only after all
  2002. *** the objects are created.  TAG_SPACE is incremented as object
  2003. *** creation macros are called and in the end holds the maximum
  2004. *** theoretical tagitem space usage in bytes.  You pass the pointer to
  2005. *** this memory (which you have yourself allocated) in the register MR.
  2006. *** You can EQUR MR to any of the registers a3, a4 or a5 (the macros
  2007. *** don't use these registers).
  2008. ***
  2009. *** All calls to xxxObject and xxxGroup _must_ be finished with an Endi
  2010. *** call.  The Endi macro actually calls the MUI_NewObjectA function
  2011. *** and places the result object to the taglist.
  2012. ***
  2013. *** The MUIT macro is just a handy way of moving mixed stuff to the
  2014. *** taglist.  Upto 9 items can be moved to the stack on one source line.
  2015. *** You can move _only constants_ with the MUIT macro, use the
  2016. *** MUIT2 macro to move more mixed stuff (pointers, registers).
  2017. *** Remember to use # to denote constants when using MUIT2.
  2018. *** The Endi macro is a special case for the MUIT and MUIT2 macros.
  2019. *** This is snooped out and every 'MUIT Endi' call is converted to
  2020. *** an Endi macro call.
  2021. ***
  2022. *** Also the very common calls 'MUIT Child', 'MUIT SubWindow' and
  2023. *** 'MUIT WindowContents' have their own macros Childi, SubWindowi
  2024. *** and WindowContentsi.  Childi macro can take upto five arguments.
  2025. *** There are three versions of Childi: Childi, Child2 and Child3.
  2026. *** Templates for these macros are:
  2027. *** Childi [macro[,argument1[,argument2[,argument3[,argument4]]]]]
  2028. *** Child2 [macro[,macro[,macro[,macro[,macro]]]]]
  2029. *** Child3 [macro[,macro[,argument1[,argument2[,argument3]]]]]
  2030. *** Arguments for Childi are interpreted as the first one being a
  2031. *** full macro name and the last four arguments for this macro.
  2032. *** Arguments for Child2 are treated as macros placed on their
  2033. *** own separate lines.  These macros can't have any arguments.
  2034. *** Arguments for Child3 are treated as two macros placed on their
  2035. *** own separate lines.  The last macro can have three arguments.
  2036. ***
  2037. *** The C example above with these assembler macros:
  2038. ***
  2039. ***   ApplicationObject
  2040. ***   
  2041. ***      ...
  2042. ***
  2043. ***      SubWindowi
  2044. ***      WindowObject
  2045. ***         WindowContentsi
  2046. ***         VGroup
  2047. ***            Childi String,foo,40
  2048. ***            Childi String,bar,50
  2049. ***            Childi HGroup
  2050. ***               Childi Checkmark,TRUE
  2051. ***               Childi Checkmark,FALSE
  2052. ***               Endi
  2053. ***            Endi
  2054. ***         Endi
  2055. ***
  2056. ***      SubWindowi
  2057. ***      WindowObject
  2058. ***         WindowContentsi
  2059. ***         HGroup
  2060. ***            Childi
  2061. ***            ...
  2062. ***            Childi
  2063. ***            ...
  2064. ***            Endi
  2065. ***         Endi
  2066. ***
  2067. ***      ...
  2068. ***         
  2069. ***      Endi
  2070. ***      is app
  2071. ***
  2072. ***   app   dc.l  0
  2073. ***   bar   dc.b  "bar",0
  2074. ***   foo   dc.b  "foo",0
  2075. ***
  2076. ****************************************************************************
  2077.  
  2078. *** TAG_SPACE will hold the max taglist size in bytes
  2079.  
  2080. TAG_SPACE SET 0
  2081.  
  2082. *** Macros to move a tagitem to the taglist if it is given
  2083.  
  2084. cmv    MACRO
  2085.     IFNC    '\1',''
  2086.     IFC    '\1','Endi'
  2087.     Endi
  2088.     ELSE
  2089.     move.l    #\1,(MR)+
  2090. TAG_SPACE SET TAG_SPACE+4
  2091.     ENDC
  2092.     ENDC
  2093.     ENDM
  2094.  
  2095. cmv2    MACRO
  2096.     IFNC    '\1',''
  2097.     IFC    '\1','Endi'
  2098.     Endi
  2099.     ELSE
  2100.     move.l    \1,(MR)+
  2101. TAG_SPACE SET TAG_SPACE+4
  2102.     ENDC
  2103.     ENDC
  2104.     ENDM
  2105.  
  2106. *** Macro to move a tagitem to stack if it is given
  2107.  
  2108. cmv3    MACRO
  2109.     IFNC    '\1',''
  2110.     move.l    \1,-(sp)
  2111.     ENDC
  2112.     ENDM
  2113.  
  2114. cmv4    MACRO
  2115.     IFNC    '\1',''
  2116.     move.l    #\1,-(sp)
  2117.     ENDC
  2118.     ENDM
  2119.  
  2120. *** Macros to move max 9 tagitems to the taglist
  2121.  
  2122. MUIT    MACRO
  2123.     cmv    \1
  2124.     cmv    \2
  2125.     cmv    \3
  2126.     cmv    \4
  2127.     cmv    \5
  2128.     cmv    \6
  2129.     cmv    \7
  2130.     cmv    \8
  2131.     cmv    \9
  2132.     ENDM
  2133.  
  2134. MUIT2    MACRO
  2135.     cmv2    \1
  2136.     cmv2    \2
  2137.     cmv2    \3
  2138.     cmv2    \4
  2139.     cmv2    \5
  2140.     cmv2    \6
  2141.     cmv2    \7
  2142.     cmv2    \8
  2143.     cmv2    \9
  2144.     ENDM
  2145.  
  2146. MakeObj    MACRO
  2147.     movem.l    a0/a2,-(a7)
  2148.     move.l    a7,a2
  2149.     clr.l    -(a7)
  2150.     cmv4    \5
  2151.     cmv4    \4
  2152.     cmv4    \3
  2153.     cmv4    \2
  2154.     move.l    #\1,d0
  2155.     move.l    a7,a0
  2156.     CALLMUI    MUI_MakeObjectA
  2157.     move.l    a2,a7
  2158.     movem.l    (a7)+,a0/a2
  2159.     cmv2    d0
  2160.     ENDM
  2161.  
  2162. *** DoMethod macro for easier assembler DoMethod'ing, max 20 tagitems.
  2163. *** Note that _DoMethod is defined in amiga.lib, so you must link
  2164. *** your own object code with it.
  2165. *** Warning ASM-One V1.25 can only use 9 Args !!!
  2166.  
  2167. DoMethod MACRO
  2168.     movem.l    a0/a2/a3,-(sp)
  2169.     move.l    sp,a2
  2170.     clr.l    -(sp)
  2171.     cmv3    \19
  2172.     cmv3    \18
  2173.     cmv3    \17
  2174.     cmv3    \16
  2175.     cmv3    \15
  2176.     cmv3    \14
  2177.     cmv3    \13
  2178.     cmv3    \12
  2179.     cmv3    \11
  2180.     cmv3    \10
  2181.     cmv3    \9
  2182.     cmv3    \8
  2183.     cmv3    \7
  2184.     cmv3    \6
  2185.     cmv3    \5
  2186.     cmv3    \4
  2187.     cmv3    \3
  2188.     cmv3    \2
  2189.     cmv3    \1
  2190.     move.l    a7,a3
  2191.     jsr    _DoMethod
  2192.     move.l    a2,sp
  2193.     movem.l    (sp)+,a0/a2/a3
  2194.     ENDM
  2195.  
  2196.  
  2197. *** MUI_Request macro for easier assembler MUI_Request'ing, max
  2198. *** 20 tagitems.
  2199.  
  2200. MUI_Request MACRO
  2201.     movem.l    a0-a4,-(sp)
  2202.     move.l    sp,a4
  2203.     cmv3    \9
  2204.     cmv3    \8
  2205.     cmv3    \7
  2206.     move.l    a4,a3
  2207.     move.l    #\6,a2
  2208.     move.l    #\5,a1
  2209.     move.l    #\4,a0
  2210.     move.l    #\3,d2
  2211.     move.l    \2,d1
  2212.     move.l    \1,d0
  2213.     CALLMUI    MUI_RequestA
  2214.     move.l    a4,sp
  2215.     movem.l    (sp)+,a0-a4
  2216.     ENDM
  2217.  
  2218. *** Macro for getting a pointer to an object you just created.
  2219. *** This is valid only after an Endi macro.
  2220.  
  2221. is    MACRO
  2222.     move.l    d0,\1
  2223.     ENDM
  2224.  
  2225. Endi    MACRO
  2226.     clr.l    (MR)+
  2227. TAG_SPACE SET TAG_SPACE+4
  2228.     move.l    a2,a1
  2229.     CALLMUI    MUI_NewObjectA
  2230.     move.l    a2,MR
  2231.     movem.l    (sp)+,a0/a2
  2232.     cmv2    d0
  2233.     ENDM
  2234.  
  2235. MenustripObject MACRO
  2236.     movem.l    a0/a2,-(sp)
  2237. MUIC_Menustrip_f SET 1
  2238.     lea    MUIC_Menustrip,a0
  2239.     move.l    MR,a2
  2240.     ENDM
  2241.  
  2242. MenuObject MACRO
  2243.     movem.l    a0/a2,-(sp)
  2244. MUIC_Menu_f SET 1
  2245.     lea    MUIC_Menu,a0
  2246.     move.l    MR,a2
  2247.     ENDM
  2248.  
  2249. MenuObjectT MACRO
  2250.     movem.l    a0/a2,-(sp)
  2251. MUIC_Menu_f SET 1
  2252.     lea    MUIC_Menu,a0
  2253.     move.l    MR,a2
  2254.     MUIT    MUIA_Menu_Title,\1
  2255.     ENDM
  2256.  
  2257. MenuitemObject MACRO
  2258.     movem.l    a0/a2,-(sp)
  2259. MUIC_Menuitem_f SET 1
  2260.     lea    MUIC_Menuitem,a0
  2261.     move.l    MR,a2
  2262.     ENDM
  2263.  
  2264. WindowObject MACRO
  2265.     movem.l    a0/a2,-(sp)
  2266. MUIC_Window_f SET 1
  2267.     lea    MUIC_Window,a0
  2268.     move.l    MR,a2
  2269.     ENDM
  2270.  
  2271. ImageObject MACRO
  2272.     movem.l    a0/a2,-(sp)
  2273. MUIC_Image_f SET 1
  2274.     lea    MUIC_Image,a0
  2275.     move.l    MR,a2
  2276.     ENDM
  2277.  
  2278. BitmapObject MACRO
  2279.     movem.l    a0/a2,-(sp)
  2280. MUIC_Bitmap_f SET 1
  2281.     lea    MUIC_Bitmap,a0
  2282.     move.l    MR,a2
  2283.     ENDM
  2284.  
  2285. BodychunkObject MACRO
  2286.     movem.l    a0/a2,-(sp)
  2287. MUIC_Bodychunk_f SET 1
  2288.     lea    MUIC_Bodychunk,a0
  2289.     move.l    MR,a2
  2290.     ENDM
  2291.  
  2292. NotifyObject MACRO
  2293.     movem.l    a0/a2,-(sp)
  2294. MUIC_Notify_f SET 1
  2295.     lea    MUIC_Notify,a0
  2296.     move.l    MR,a2
  2297.     ENDM
  2298.  
  2299. ApplicationObject MACRO
  2300.     movem.l    a0/a2,-(sp)
  2301. MUIC_Application_f SET 1
  2302.     lea    MUIC_Application,a0
  2303.     move.l    MR,a2
  2304.     ENDM
  2305.  
  2306. TextObject MACRO
  2307.     movem.l    a0/a2,-(sp)
  2308. MUIC_Text_f SET 1
  2309.     lea    MUIC_Text,a0
  2310.     move.l    MR,a2
  2311.     ENDM
  2312.  
  2313. RectangleObject MACRO
  2314.     movem.l    a0/a2,-(sp)
  2315. MUIC_Rectangle_f SET 1
  2316.     lea    MUIC_Rectangle,a0
  2317.     move.l    MR,a2
  2318.     ENDM
  2319.  
  2320. ListObject MACRO
  2321.     movem.l    a0/a2,-(sp)
  2322. MUIC_List_f SET 1
  2323.     lea    MUIC_List,a0
  2324.     move.l    MR,a2
  2325.     ENDM
  2326.  
  2327. PropObject MACRO
  2328.     movem.l    a0/a2,-(sp)
  2329. MUIC_Prop_f SET 1
  2330.     lea    MUIC_Prop,a0
  2331.     move.l    MR,a2
  2332.     ENDM
  2333.  
  2334. StringObject MACRO
  2335.     movem.l    a0/a2,-(sp)
  2336. MUIC_String_f SET 1
  2337.     lea    MUIC_String,a0
  2338.     move.l    MR,a2
  2339.     ENDM
  2340.  
  2341. ScrollbarObject MACRO
  2342.     movem.l    a0/a2,-(sp)
  2343. MUIC_Scrollbar_f SET 1
  2344.     lea    MUIC_Scrollbar,a0
  2345.     move.l    MR,a2
  2346.     ENDM
  2347.  
  2348. ListviewObject MACRO
  2349.     movem.l    a0/a2,-(sp)
  2350. MUIC_Listview_f SET 1
  2351.     lea    MUIC_Listview,a0
  2352.     move.l    MR,a2
  2353.     ENDM
  2354.  
  2355. RadioObject MACRO
  2356.     movem.l    a0/a2,-(sp)
  2357. MUIC_Radio_f SET 1
  2358.     lea    MUIC_Radio,a0
  2359.     move.l    MR,a2
  2360.     ENDM
  2361.  
  2362. VolumelistObject MACRO
  2363.     movem.l    a0/a2,-(sp)
  2364. MUIC_Volumelist_f SET 1
  2365.     lea    MUIC_Volumelist,a0
  2366.     move.l    MR,a2
  2367.     ENDM
  2368.  
  2369. FloattextObject MACRO
  2370.     movem.l    a0/a2,-(sp)
  2371. MUIC_Floattext_f SET 1
  2372.     lea    MUIC_Floattext,a0
  2373.     move.l    MR,a2
  2374.     ENDM
  2375.  
  2376. DirlistObject MACRO
  2377.     movem.l    a0/a2,-(sp)
  2378. MUIC_Dirlist_f SET 1
  2379.     lea    MUIC_Dirlist,a0
  2380.     move.l    MR,a2
  2381.     ENDM
  2382.  
  2383. SliderObject MACRO
  2384.     movem.l    a0/a2,-(sp)
  2385. MUIC_Slider_f SET 1
  2386.     lea    MUIC_Slider,a0
  2387.     move.l    MR,a2
  2388.     ENDM
  2389.  
  2390. CycleObject MACRO
  2391.     movem.l    a0/a2,-(sp)
  2392. MUIC_Cycle_f SET 1
  2393.     lea    MUIC_Cycle,a0
  2394.     move.l    MR,a2
  2395.     ENDM
  2396.  
  2397. GaugeObject MACRO
  2398.     movem.l    a0/a2,-(sp)
  2399. MUIC_Gauge_f SET 1
  2400.     lea    MUIC_Gauge,a0
  2401.     move.l    MR,a2
  2402.     ENDM
  2403.  
  2404. ScaleObject MACRO
  2405.     movem.l    a0/a2,-(sp)
  2406. MUIC_Scale_f SET 1
  2407.     lea    MUIC_Scale,a0
  2408.     move.l    MR,a2
  2409.     ENDM
  2410.  
  2411. NumericObject MACRO
  2412.     movem.l    a0/a2,-(sp)
  2413. MUIC_Numeric_f SET 1
  2414.     lea    MUIC_Numeric,a0
  2415.     move.l    MR,a2
  2416.     ENDM
  2417.  
  2418. BoopsiObject MACRO
  2419.     movem.l    a0/a2,-(sp)
  2420. MUIC_Boopsi_f SET 1
  2421.     lea    MUIC_Boopsi,a0
  2422.     move.l    MR,a2
  2423.     ENDM
  2424.  
  2425. ColorfieldObject MACRO
  2426.     movem.l    a0/a2,-(sp)
  2427. MUIC_Colorfield_f SET 1
  2428.     lea    MUIC_Colorfield,a0
  2429.     move.l    MR,a2
  2430.     ENDM
  2431.  
  2432. ColorpanelObject MACRO
  2433.     movem.l    a0/a2,-(sp)
  2434. MUIC_Colorpanel_f SET 1
  2435.     lea    MUIC_Colorpanel,a0
  2436.     move.l    MR,a2
  2437.     ENDM
  2438.  
  2439. ColoradjustObject MACRO
  2440.     movem.l    a0/a2,-(sp)
  2441. MUIC_Coloradjust_f SET 1
  2442.     lea    MUIC_Coloradjust,a0
  2443.     move.l    MR,a2
  2444.     ENDM
  2445.  
  2446. PaletteObject MACRO
  2447.     movem.l    a0/a2,-(sp)
  2448. MUIC_Palette_f SET 1
  2449.     lea    MUIC_Palette,a0
  2450.     move.l    MR,a2
  2451.     ENDM
  2452.  
  2453. GroupObject MACRO
  2454.     movem.l    a0/a2,-(sp)
  2455. MUIC_Group_f SET 1
  2456.     lea    MUIC_Group,a0
  2457.     move.l    MR,a2
  2458.     ENDM
  2459.  
  2460. RegisterObject MACRO
  2461.     movem.l    a0/a2,-(sp)
  2462. MUIC_Register_f SET 1
  2463.     lea    MUIC_Register,a0
  2464.     move.l    MR,a2
  2465.     ENDM
  2466.  
  2467. VirtgroupObject MACRO
  2468.     movem.l    a0/a2,-(sp)
  2469. MUIC_Virtgroup_f SET 1
  2470.     lea    MUIC_Virtgroup,a0
  2471.     move.l    MR,a2
  2472.     ENDM
  2473.  
  2474. ScrollgroupObject MACRO
  2475.     movem.l    a0/a2,-(sp)
  2476. MUIC_Scrollgroup_f SET 1
  2477.     lea    MUIC_Scrollgroup,a0
  2478.     move.l    MR,a2
  2479.     ENDM
  2480.  
  2481. PopstringObject MACRO
  2482.     movem.l    a0/a2,-(sp)
  2483. MUIC_Popstring_f SET 1
  2484.     lea    MUIC_Popstring,a0
  2485.     move.l    MR,a2
  2486.     ENDM
  2487.  
  2488. PopobjectObject MACRO
  2489.     movem.l    a0/a2,-(sp)
  2490. MUIC_Popobject_f SET 1
  2491.     lea    MUIC_Popobject,a0
  2492.     move.l    MR,a2
  2493.     ENDM
  2494.  
  2495. PoplistObject MACRO
  2496.     movem.l    a0/a2,-(sp)
  2497. MUIC_Poplist_f SET 1
  2498.     lea    MUIC_Poplist,a0
  2499.     move.l    MR,a2
  2500.     ENDM
  2501.  
  2502. PopaslObject MACRO
  2503.     movem.l    a0/a2,-(sp)
  2504. MUIC_Popasl_f SET 1
  2505.     lea    MUIC_Popasl,a0
  2506.     move.l    MR,a2
  2507.     ENDM
  2508.  
  2509. ScrmodelistObject MACRO
  2510.     movem.l    a0/a2,-(sp)
  2511. MUIC_Scrmodelist_f SET 1
  2512.     lea    MUIC_Scrmodelist,a0
  2513.     move.l    MR,a2
  2514.     ENDM
  2515.  
  2516. NumericbuttonObject MACRO
  2517.     movem.l    a0/a2,-(sp)
  2518. MUIC_Numericbutton_f SET 1
  2519.     lea    MUIC_Numericbutton,a0
  2520.     move.l    MR,a2
  2521.     ENDM
  2522.  
  2523. KnobObject MACRO
  2524.     movem.l    a0/a2,-(sp)
  2525. MUIC_Knob_f SET 1
  2526.     lea    MUIC_Knob,a0
  2527.     move.l    MR,a2
  2528.     ENDM
  2529.  
  2530. LevelmeterObject MACRO
  2531.     movem.l    a0/a2,-(sp)
  2532. MUIC_Levelmeter_f SET 1
  2533.     lea    MUIC_Levelmeter,a0
  2534.     move.l    MR,a2
  2535.     ENDM
  2536.  
  2537. PenadjustObject MACRO
  2538.     movem.l    a0/a2,-(sp)
  2539. MUIC_Penabjust_f SET 1
  2540.     lea    MUIC_Penabjust,a0
  2541.     move.l    MR,a2
  2542.     ENDM
  2543.  
  2544. PoppenObject MACRO
  2545.     movem.l    a0/a2,-(sp)
  2546. MUIC_Poppen_f SET 1
  2547.     lea    MUIC_Poppen,a0
  2548.     move.l    MR,a2
  2549.     ENDM
  2550.  
  2551. AboutmuiObject MACRO
  2552.     movem.l    a0/a2,-(sp)
  2553. MUIC_Aboutmui_f SET 1
  2554.     lea    MUIC_Aboutmui,a0
  2555.     move.l    MR,a2
  2556.     ENDM
  2557.  
  2558. KeyentryObject MACRO
  2559.     movem.l    a0/a2,-(sp)
  2560. MUIC_Keyentry_f SET 1
  2561.     lea    MUIC_Keyentry,a0
  2562.     move.l    MR,a2
  2563.     ENDM
  2564.  
  2565. VGroup    MACRO
  2566.     movem.l    a0/a2,-(sp)
  2567. MUIC_Group_f SET 1
  2568.     lea    MUIC_Group,a0
  2569.     move.l    MR,a2
  2570.     ENDM
  2571.  
  2572. HGroup    MACRO
  2573.     movem.l    a0/a2,-(sp)
  2574. MUIC_Group_f SET 1
  2575.     lea    MUIC_Group,a0
  2576.     move.l    MR,a2
  2577.     MUIT    MUIA_Group_Horiz,TRUE
  2578.     ENDM
  2579.  
  2580. ColGroup MACRO
  2581.     movem.l    a0/a2,-(sp)
  2582. MUIC_Group_f SET 1
  2583.     lea    MUIC_Group,a0
  2584.     move.l    MR,a2
  2585.     MUIT    MUIA_Group_Columns,\1
  2586.     ENDM
  2587.  
  2588. RowGroup MACRO
  2589.     movem.l    a0/a2,-(sp)
  2590. MUIC_Group_f SET 1
  2591.     lea    MUIC_Group,a0
  2592.     move.l    MR,a2
  2593.     MUIT    MUIA_Group_Rows,\1
  2594.     ENDM
  2595.  
  2596. PageGroup MACRO
  2597.     movem.l    a0/a2,-(sp)
  2598. MUIC_Group_f SET 1
  2599.     lea    MUIC_Group,a0
  2600.     move.l    MR,a2
  2601.     MUIT    MUIA_Group_PageMode,TRUE
  2602.     ENDM
  2603.  
  2604. VGroupV    MACRO
  2605.     movem.l    a0/a2,-(sp)
  2606. MUIC_Virtgroup_f SET 1
  2607.     lea    MUIC_Virtgroup,a0
  2608.     move.l    MR,a2
  2609.     ENDM
  2610.  
  2611. HGroupV    MACRO
  2612.     movem.l    a0/a2,-(sp)
  2613. MUIC_Virtgroup_f SET 1
  2614.     lea    MUIC_Virtgroup,a0
  2615.     move.l    MR,a2
  2616.     MUIT    MUIA_Group_Horiz,TRUE
  2617.     ENDM
  2618.  
  2619. ColGroupV MACRO
  2620.     movem.l    a0/a2,-(sp)
  2621. MUIC_Virtgroup_f SET 1
  2622.     lea    MUIC_Virtgroup,a0
  2623.     move.l    MR,a2
  2624.     MUIT    MUIA_Group_Columns,\1
  2625.     ENDM
  2626.  
  2627. RowGroupV MACRO
  2628.     movem.l    a0/a2,-(sp)
  2629. MUIC_Virtgroup_f SET 1
  2630.     lea    MUIC_Virtgroup,a0
  2631.     move.l    MR,a2
  2632.     MUIT    MUIA_Group_Rows,\1
  2633.     ENDM
  2634.  
  2635. PageGroupV MACRO
  2636.     movem.l    a0/a2,-(sp)
  2637. MUIC_Virtgroup_f SET 1
  2638.     lea    MUIC_Virtgroup,a0
  2639.     move.l    MR,a2
  2640.     MUIT    MUIA_Group_PageMode,TRUE
  2641.     ENDM
  2642.  
  2643. RegisterGroup MACRO
  2644.     movem.l    a0/a2,-(sp)
  2645. MUIC_Register_f SET 1
  2646.     lea    MUIC_Register,a0
  2647.     move.l    MR,a2
  2648.     MUIT    MUIA_Register_Titles,\1
  2649.     ENDM
  2650.  
  2651. Childi    MACRO
  2652.     cmv    MUIA_Group_Child
  2653.     \1 \2,\3,\4,\5
  2654.     ENDM
  2655. Child2    MACRO
  2656.     cmv    MUIA_Group_Child
  2657.     \1
  2658.     \2
  2659.     \3
  2660.     \4
  2661.     \5
  2662.     ENDM
  2663. Child3    MACRO
  2664.     cmv    MUIA_Group_Child
  2665.     \1
  2666.     \2 \3,\4,\5
  2667.     ENDM
  2668. SubWindowi MACRO
  2669.     cmv    MUIA_Application_Window
  2670.     ENDM
  2671. WindowContentsi MACRO
  2672.     cmv    MUIA_Window_RootObject
  2673.     ENDM
  2674.  
  2675.  
  2676. Child        EQU MUIA_Group_Child
  2677. SubWindow    EQU MUIA_Application_Window
  2678. WindowContents    EQU MUIA_Window_RootObject
  2679.  
  2680.  
  2681.  
  2682. ****************************************************************************
  2683. **
  2684. ** Frame Types
  2685. ** -----------
  2686. **
  2687. ** These macros may be used to specify one of MUI's different frame types.
  2688. ** Note that every macro consists of one or more { ti_Tag, ti_Data }
  2689. ** pairs.
  2690. **
  2691. ** GroupFrameT() is a special kind of frame that contains a centered
  2692. ** title text.
  2693. **
  2694. ** HGroup, GroupFrameT("Horiz Groups"),
  2695. **    Child, RectangleObject, TextFrame  , End,
  2696. **    Child, RectangleObject, StringFrame, End,
  2697. **    Child, RectangleObject, ButtonFrame, End,
  2698. **    Child, RectangleObject, ListFrame  , End,
  2699. **    End,
  2700. **
  2701. ****************************************************************************
  2702.  
  2703. ****************************************************************************
  2704. ***
  2705. *** Assembler version of the above C example:
  2706. ***
  2707. *** HGroup
  2708. ***    GroupFrameT horizg
  2709. ***    Child2 RectangleObject,TextFrame,Endi
  2710. ***    Child2 RectangleObject,StringFrame,Endi
  2711. ***    Child2 RectangleObject,ButtonFrame,Endi
  2712. ***    Child2 RectangleObject,ListFrame,Endi
  2713. ***    Endi
  2714. ***
  2715. *** horizg  dc.b  "Horiz Groups",0
  2716. ***    even
  2717. ***
  2718. ****************************************************************************
  2719.  
  2720. *** These macros call MUIT themselves, do not use eg. 'MUIT NoFrame'
  2721.  
  2722. NoFrame    MACRO
  2723.     MUIT    MUIA_Frame,MUIV_Frame_None
  2724.     ENDM
  2725. ButtonFrame MACRO
  2726.     MUIT    MUIA_Frame,MUIV_Frame_Button
  2727.     ENDM
  2728. ImageButtonFrame MACRO
  2729.     MUIT    MUIA_Frame,MUIV_Frame_ImageButton
  2730.     ENDM
  2731. TextFrame MACRO
  2732.     MUIT    MUIA_Frame,MUIV_Frame_Text
  2733.     ENDM
  2734. StringFrame MACRO
  2735.     MUIT    MUIA_Frame,MUIV_Frame_String
  2736.     ENDM
  2737. ReadListFrame MACRO
  2738.     MUIT    MUIA_Frame,MUIV_Frame_ReadList
  2739.     ENDM
  2740. InputListFrame MACRO
  2741.     MUIT    MUIA_Frame,MUIV_Frame_InputList
  2742.     ENDM
  2743. PropFrame MACRO
  2744.     MUIT    MUIA_Frame,MUIV_Frame_Prop
  2745.     ENDM
  2746. GaugeFrame MACRO
  2747.     MUIT    MUIA_Frame,MUIV_Frame_Gauge
  2748.     ENDM
  2749. GroupFrame MACRO
  2750.     MUIT    MUIA_Frame,MUIV_Frame_Group
  2751.     ENDM
  2752. GroupFrameT MACRO
  2753.     MUIT    MUIA_Frame,MUIV_Frame_Group,MUIA_Frame_Title,\1
  2754.     ENDM
  2755. VirtualFrame MACRO
  2756.     MUIT    MUIA_Frame,MUIV_Frame_Virtual
  2757.     ENDM
  2758.  
  2759.  
  2760. ****************************************************************************
  2761. **
  2762. ** Spacing Macros
  2763. ** --------------
  2764. **
  2765. ****************************************************************************
  2766.  
  2767. *** For these macros tagitem space is allocated from the stack and is
  2768. *** fixed in size.  So, there is no need for a separate Endi call.
  2769.  
  2770. HVSpace    MACRO
  2771.     move.l    a0,-(sp)
  2772. MUIC_Rectangle_f SET 1
  2773.     lea    MUIC_Rectangle,a0
  2774.     clr.l    -(sp)
  2775.     move.l    sp,a1
  2776.     CALLMUI    MUI_NewObjectA
  2777.     addq.l    #4,sp
  2778.     move.l    (sp)+,a0
  2779.     MUIT2    d0
  2780.     ENDM
  2781.    
  2782. HSpace    MACRO
  2783.     MakeObj    MUIO_HSpace,\1
  2784.     ENDM
  2785.  
  2786. VSpace    MACRO
  2787.     MakeObj    MUIO_VSpace,\1
  2788.     ENDM
  2789.  
  2790. HCenter    MACRO
  2791.     HGroup
  2792.     GroupSpacing    0
  2793.     Childi    HSpace,0
  2794.     Childi    MUIT2,\1
  2795.     Childi    HSpace,0
  2796.     Endi
  2797.     ENDM
  2798.  
  2799. VCenter    MACRO
  2800.     VGroup
  2801.     GroupSpacing    0
  2802.     Childi    VSpace,0
  2803.     Childi    MUIT2,\1
  2804.     Childi    VSpace,0
  2805.     Endi
  2806.     ENDM
  2807.  
  2808. InnerSpacing MACRO
  2809.     MUIT    MUIA_InnerLeft,\1
  2810.     MUIT    MUIA_InnerRight,\1
  2811.     MUIT    MUIA_InnerTop,\2
  2812.     MUIT    MUIA_InnerBottom,\2
  2813.     ENDM
  2814.  
  2815. GroupSpacing MACRO
  2816.     MUIT    MUIA_Group_Spacing,\1
  2817.     ENDM
  2818.  
  2819.  
  2820.  
  2821. ****************************************************************************
  2822. ***
  2823. *** You use these assembler macros like this:
  2824. ***
  2825. *** String mystr1,40
  2826. ***
  2827. *** CheckMark TRUE
  2828. ***
  2829. *** SimpleButton mysbut1
  2830. ***
  2831. *** KeyButton mykbut1,"c"
  2832. ***
  2833. *** Cycle myentr1
  2834. ***
  2835. *** KeyCycle myentr1,"k"
  2836. ***
  2837. *** Radio rname1,rbuts1
  2838. ***
  2839. *** String mystr1,35
  2840. *** is strobj1
  2841. *** Popup ST_Font,strobj1,MyHook,MUII_Popup
  2842. ***
  2843. ***
  2844. *** MyHook  rts   ; dummy hook, does nothing
  2845. *** mysrt1  dc.b  "String contents",0
  2846. ***    even
  2847. *** mysbut1 dc.b  "Button",0
  2848. ***    even
  2849. *** mykbut1 dc.b  "Cancel",0
  2850. ***    even
  2851. *** myentr1 dc.l  entrs1,entrs2,entrs3,NULL
  2852. *** entrs1  dc.b  "One",0
  2853. *** entrs2  dc.b  "Two",0
  2854. *** entrs3  dc.b  "Three",0
  2855. ***    even
  2856. *** rname1  dc.b  "Radio Buttons:",0
  2857. ***    even
  2858. *** rbuts1  dc.l  rbut1,rbut2,rbut3,NULL
  2859. *** rbut1   dc.b  "Button1",0
  2860. ***    even
  2861. *** rbut2   dc.b  "Button2",0
  2862. ***    even
  2863. *** rbut3   dc.b  "Button3",0
  2864. ***    even
  2865. *** strobj  dc.l  0
  2866. *** ST_Font dc.l  0
  2867. ***
  2868. ***
  2869. ****************************************************************************
  2870.  
  2871. ****************************************************************************
  2872. **
  2873. ** String-Object
  2874. ** -------------
  2875. **
  2876. ** The following macro creates a simple string gadget.
  2877. **
  2878. ****************************************************************************
  2879.  
  2880. String    MACRO
  2881.     StringObject
  2882.     StringFrame
  2883.     MUIT    MUIA_String_MaxLen,\2
  2884.     MUIT    MUIA_String_Contents,\1
  2885.     Endi
  2886.     ENDM
  2887.  
  2888. KeyString MACRO
  2889.     StringObject
  2890.     StringFrame
  2891.     MUIT    MUIA_ControlChar,\3
  2892.     MUIT    MUIA_String_MaxLen,\2
  2893.     MUIT    MUIA_String_Contents,\1
  2894.     Endi
  2895.     ENDM
  2896.  
  2897. ****************************************************************************
  2898. **
  2899. ** CheckMark-Object
  2900. ** ----------------
  2901. **
  2902. ** The following macro creates a checkmark gadget.
  2903. **
  2904. ****************************************************************************
  2905.  
  2906. CheckMark MACRO
  2907.     ImageObject
  2908.     ImageButtonFrame
  2909.     MUIT    MUIA_InputMode,MUIV_InputMode_Toggle
  2910.     MUIT    MUIA_Image_Spec,MUII_CheckMark
  2911.     MUIT    MUIA_Image_FreeVert,TRUE
  2912.     MUIT    MUIA_Selected,\1
  2913.     MUIT    MUIA_Background,MUII_ButtonBack
  2914.     MUIT    MUIA_ShowSelState,FALSE
  2915.     Endi
  2916.     ENDM
  2917.  
  2918. KeyCheckMark MACRO
  2919.     ImageObject
  2920.     ImageButtonFrame
  2921.     MUIT    MUIA_InputMode,MUIV_InputMode_Toggle
  2922.     MUIT    MUIA_Image_Spec,MUII_CheckMark
  2923.     MUIT    MUIA_Image_FreeVert,TRUE
  2924.     MUIT    MUIA_Selected,\1
  2925.     MUIT    MUIA_Background,MUII_ButtonBack
  2926.     MUIT    MUIA_ShowSelState,FALSE
  2927.     MUIT    MUIA_ControlChar,\2
  2928.     Endi
  2929.     ENDM
  2930.  
  2931.  
  2932. ****************************************************************************
  2933. **
  2934. ** Button-Objects
  2935. ** --------------
  2936. **
  2937. ** Note: Use small letters for KeyButtons, e.g.
  2938. **       KeyButton("Cancel",'c')  and not  KeyButton("Cancel",'C') !!
  2939. **
  2940. ****************************************************************************
  2941.  
  2942. SimpleButton MACRO
  2943.     MakeObj    MUIO_Button,\1
  2944.     ENDM
  2945.  
  2946. KeyButton MACRO
  2947.     TextObject
  2948.     ButtonFrame
  2949.     MUIT    MUIA_Text_Contents,\1
  2950.     MUIT    MUIA_Text_PreParse,PreParse
  2951.     MUIT    MUIA_Text_SetMax,FALSE
  2952.     MUIT    MUIA_Text_HiChar,\2
  2953.     MUIT    MUIA_ControlChar,\2
  2954.     MUIT    MUIA_InputMode,MUIV_InputMode_RelVerify
  2955.     MUIT    MUIA_Background,MUII_ButtonBack
  2956.     Endi
  2957.     ENDM
  2958.  
  2959.  
  2960. ****************************************************************************
  2961. **
  2962. ** Cycle-Object
  2963. ** ------------
  2964. **
  2965. ****************************************************************************
  2966.  
  2967. Cycle    MACRO
  2968.     CycleObject
  2969.     MUIT    MUIA_Cycle_Entries,\1
  2970.     Endi
  2971.     ENDM
  2972.  
  2973. KeyCycle MACRO
  2974.     CycleObject
  2975.     MUIT    MUIA_Cycle_Entries,\1
  2976.     MUIT    MUIA_ControlChar,\2
  2977.     Endi
  2978.     ENDM
  2979.  
  2980.  
  2981.  
  2982. ****************************************************************************
  2983. **
  2984. ** Popup-Object
  2985. ** ------------
  2986. **
  2987. ** An often needed GUI element is a string gadget with a little button
  2988. ** that opens up a (small) window with a list containing possible entries
  2989. ** for this gadget. Together with the Popup and the String macro,
  2990. ** such a thing would look like
  2991. **
  2992. ** VGroup,
  2993. **    Child, Popup(ST_Font, String("helvetica/13",32), &Hook, MUII_Popup),
  2994. **    ...,
  2995. **
  2996. ** ST_Font will hold a pointer to the embedded string gadget and can
  2997. ** be used to set and get its contents as with every other string object.
  2998. **
  2999. ** The hook will be called with the string gadget as object whenever
  3000. ** the user releases the popup button and could look like this:
  3001. **
  3002. ** ULONG __asm __saveds HookFunc(register __a2 APTR obj,MUII_File)
  3003. ** {
  3004. **    ...
  3005. **
  3006. **    // put our application to sleep while displaying the requester
  3007. **    set(Application,MUIA_Application_Sleep,TRUE);
  3008. **
  3009. **    // get the calling objects window and position
  3010. **    get(obj,MUIA_Window  ,&window);
  3011. **    get(obj,MUIA_LeftEdge,&l);
  3012. **    get(obj,MUIA_TopEdge ,&t);
  3013. **    get(obj,MUIA_Width   ,&w);
  3014. **    get(obj,MUIA_Height  ,&h);
  3015. **
  3016. **    if (req=MUI_AllocAslRequestTags(ASL_FontRequest,TAG_DONE))
  3017. **    {
  3018. **       if (MUI_AslRequestTags(req,
  3019. **     ASLFO_Window    ,window,
  3020. **     ASLFO_PrivateIDCMP   ,TRUE,
  3021. **     ASLFO_TitleText      ,"Select Font",
  3022. **     ASLFO_InitialLeftEdge,window->LeftEdge + l,
  3023. **     ASLFO_InitialTopEdge ,window->TopEdge  + t+h,
  3024. **     ASLFO_InitialWidth   ,w,
  3025. **     ASLFO_InitialHeight  ,250,
  3026. **     TAG_DONE))
  3027. **       {
  3028. **     // set the new contents for our string gadget
  3029. **     set(obj,MUIA_String_Contents,req->fo_Attr.ta_Name);
  3030. **       }
  3031. **       MUI_FreeAslRequest(req);
  3032. **    }
  3033. **
  3034. **    // wake up our application again
  3035. **    set(Application,MUIA_Application_Sleep,FALSE);
  3036. **
  3037. **    return(0);
  3038. ** }
  3039. **
  3040. ** Note: This macro needs a "APTR dummy;" declaration somewhere in your
  3041. **       code to work.
  3042. **
  3043. ****************************************************************************
  3044.  
  3045. PopButton MACRO
  3046.     MakeObj    MUIO_PopButton,\1
  3047.     ENDM
  3048.  
  3049.  
  3050. ****************************************************************************
  3051. **
  3052. ** Labeling Objects
  3053. ** ----------------
  3054. **
  3055. ** Labeling objects, e.g. a group of string gadgets,
  3056. **
  3057. **   Small: |foo   |
  3058. **  Normal: |bar   |
  3059. **     Big: |foobar|
  3060. **    Huge: |barfoo|
  3061. **
  3062. ** is done using a 2 column group:
  3063. **
  3064. ** ColGroup(2),
  3065. **    Child, Label2("Small:" ),
  3066. **    Child, StringObject, End,
  3067. **    Child, Label2("Normal:"),
  3068. **    Child, StringObject, End,
  3069. **    Child, Label2("Big:"   ),
  3070. **    Child, StringObject, End,
  3071. **    Child, Label2("Huge:"  ),
  3072. **    Child, StringObject, End,
  3073. **    End,
  3074. **
  3075. ** Note that we have three versions of the label macro, depending on
  3076. ** the frame type of the right hand object:
  3077. **
  3078. ** Label1(): For use with standard frames (e.g. checkmarks).
  3079. ** Label2(): For use with double high frames (e.g. string gadgets).
  3080. ** Label() : For use with objects without a frame.
  3081. **
  3082. ** These macros ensure that your label will look fine even if the
  3083. ** user of your application configured some strange spacing values.
  3084. ** If you want to use your own labeling, you'll have to pay attention
  3085. ** on this topic yourself.
  3086. **
  3087. ****************************************************************************
  3088.  
  3089. ****************************************************************************
  3090. ***
  3091. *** And the above C example in assembler:
  3092. ***
  3093. *** ColGroup 2
  3094. ***   Childi Label2,small
  3095. ***   Child2 StringObject,Endi
  3096. ***   Childi Label2,normal
  3097. ***   Child2 StringObject,Endi
  3098. ***   Childi Label2,big
  3099. ***   Child2 StringObject,Endi
  3100. ***   Childi Label2,huge
  3101. ***   Child2 StringObject,Endi
  3102. ***   Endi
  3103. ***
  3104. *** small   dc.b  "Small:",0
  3105. ***    even
  3106. *** normal  dc.b  "Normal:",0
  3107. ***    even
  3108. *** big     dc.b  "Big:",0
  3109. ***    even
  3110. *** huge    dc.b  "Huge:",0
  3111. ***    even
  3112. ***
  3113. ****************************************************************************
  3114.  
  3115.  
  3116.  
  3117. Label    MACRO
  3118.     MakeObj    MUIO_Label,\1,0
  3119.     ENDM
  3120.  
  3121. Label1    MACRO
  3122.     MakeObj    MUIO_Label,\1,MUIO_Label_SingleFrame
  3123.     ENDM
  3124.  
  3125. Label2    MACRO
  3126.     MakeObj    MUIO_Label,\1,MUIO_Label_DoubleFrame
  3127.     ENDM
  3128.  
  3129. LLabel    MACRO
  3130.     MakeObj    MUIO_Label,\1,MUIO_LeftAligned
  3131.     ENDM
  3132.  
  3133. LLabel1    MACRO
  3134.     MakeObj    MUIO_Label,\1,MUIO_LeftAligned|MUIO_Label_SingleFrame
  3135.     ENDM
  3136.  
  3137. LLabel2    MACRO
  3138.     MakeObj    MUIO_Label,\1,MUIO_LeftAligned|MUIO_Label_DoubleFrame
  3139.     ENDM
  3140.  
  3141. CLabel    MACRO
  3142.     MakeObj    MUIO_Label,\1,MUIO_Centered
  3143.     ENDM
  3144.  
  3145. CLabel1    MACRO
  3146.     MakeObj    MUIO_Label,\1,MUIO_Centered|MUIO_Label_SingleFrame
  3147.     ENDM
  3148.  
  3149. CLabel2    MACRO
  3150.     MakeObj    MUIO_Label,\1,MUIO_Centered|MUIO_Label_DoubleFrame
  3151.     ENDM
  3152.  
  3153. FreeLabel    MACRO
  3154.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert
  3155.     ENDM
  3156.  
  3157. FreeLabel1    MACRO
  3158.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Label_SingleFrame
  3159.     ENDM
  3160.  
  3161. FreeLabel2    MACRO
  3162.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame
  3163.     ENDM
  3164.  
  3165. FreeLLabel    MACRO
  3166.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_LeftAligned
  3167.     ENDM
  3168.  
  3169. FreeLLabel1    MACRO
  3170.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_LeftAligned|MUIO_Label_SingleFrame
  3171.     ENDM
  3172.  
  3173. FreeLLabel2    MACRO
  3174.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_LeftAligned|MUIO_Label_DoubleFrame
  3175.     ENDM
  3176.  
  3177. FreeCLabel    MACRO
  3178.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Centered
  3179.     ENDM
  3180.  
  3181. FreeCLabel1    MACRO
  3182.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Centered|MUIO_Label_SingleFrame
  3183.     ENDM
  3184.  
  3185. FreeCLabel2    MACRO
  3186.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Centered|MUIO_Label_DoubleFrame
  3187.     ENDM
  3188.  
  3189. KeyLabel MACRO
  3190.     TextObject
  3191.     MUIT    MUIA_Text_PreParse,PreParse2
  3192.     MUIT    MUIA_Text_Contents,\1
  3193.     MUIT    MUIA_Weight,0
  3194.     MUIT    MUIA_InnerLeft,0
  3195.     MUIT    MUIA_InnerRight,0,
  3196.     MUIT    MUIA_Text_HiChar,\2
  3197.     Endi
  3198.     ENDM
  3199.  
  3200. KeyLabel1 MACRO
  3201.     TextObject
  3202.     ButtonFrame
  3203.     MUIT    MUIA_Text_PreParse,PreParse2
  3204.     MUIT    MUIA_Text_Contents,\1
  3205.     MUIT    MUIA_Weight,0
  3206.     MUIT    MUIA_InnerLeft,0
  3207.     MUIT    MUIA_InnerRight,0
  3208.     MUIT    MUIA_Text_HiChar,\2
  3209.     MUIT    MUIA_FramePhantomHoriz,TRUE
  3210.     Endi
  3211.     ENDM
  3212.  
  3213. KeyLabel2 MACRO
  3214.     TextObject
  3215.     StringFrame
  3216.     MUIT    MUIA_Text_PreParse,PreParse2
  3217.     MUIT    MUIA_Text_Contents,\1
  3218.     MUIT    MUIA_Weight,0
  3219.     MUIT    MUIA_InnerLeft,0
  3220.     MUIT    MUIA_InnerRight,0
  3221.     MUIT    MUIA_Text_HiChar,\2
  3222.     MUIT    MUIA_FramePhantomHoriz,TRUE
  3223.     Endi
  3224.     ENDM
  3225.  
  3226.  
  3227. ***************************************************************************
  3228. **
  3229. ** Radio-Object
  3230. ** ------------
  3231. **
  3232. ***************************************************************************
  3233.  
  3234. Radio    MACRO
  3235.     RadioObject
  3236.     GroupFrameT    \1
  3237.     MUIT    MUIA_Radio_Entries,\2
  3238.     MUIT    MUIA_Background,MUII_GroupBack
  3239.     Endi
  3240.     ENDM
  3241.  
  3242. KeyRadio MACRO
  3243.     RadioObject
  3244.     GroupFrameT    \1
  3245.     MUIT    MUIA_Radio_Entries,\2
  3246.     MUIT    MUIA_ControlChar,\3
  3247.     MUIT    MUIA_Background,MUII_GroupBack
  3248.     Endi
  3249.     ENDM    
  3250.  
  3251.  
  3252.  
  3253. ***************************************************************************
  3254. **
  3255. ** Slider-Object
  3256. ** -------------
  3257. **
  3258. ***************************************************************************
  3259.  
  3260.  
  3261. Slider    MACRO
  3262.     SliderObject
  3263.     MUIT    MUIA_Numeric_Min,\1
  3264.     MUIT    MUIA_Numeric_Max,\2
  3265.     MUIT    MUIA_Numeric_Value,\3
  3266.     Endi
  3267.     ENDM   
  3268.  
  3269. KeySlider MACRO
  3270.     SliderObject
  3271.     MUIT    MUIA_Numeric_Min, \1
  3272.     MUIT    MUIA_Numeric_Max, \2
  3273.     MUIT    MUIA_Numeric_Value, \3
  3274.     MUIT    MUIA_ControlChar, \4
  3275.     Endi
  3276.     ENDM
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282. ****************************************************************************
  3283. **
  3284. ** Controlling Objects
  3285. ** -------------------
  3286. **
  3287. ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
  3288. ** calls:
  3289. **
  3290. ** {
  3291. **    char *x;
  3292. **
  3293. **    set(obj,MUIA_String_Contents,"foobar");
  3294. **    get(obj,MUIA_String_Contents,&x);
  3295. **
  3296. **    printf("gadget contains '%s'\n",x);
  3297. ** }
  3298. **
  3299. ****************************************************************************
  3300.  
  3301. ****************************************************************************
  3302. ***
  3303. *** And the above C example in assembler:
  3304. ***
  3305. *** seti obj,#MUIA_String_Contents,#foobar
  3306. *** geti obj,#MUIA_String_Contents,#x
  3307. ***   move.l   #myfmt,d1
  3308. ***   move.l   #data,d2
  3309. ***   CALLDOS VPrintf
  3310. ***
  3311. *** foobar     dc.b  "foobar",0
  3312. ***       even
  3313. *** data       dc.l  x
  3314. *** x     dcb.b 10
  3315. *** myfmt      dc.b  "gadget contains '%s'",10,0
  3316. ***       even
  3317. ***
  3318. *** The names of the set and get macros have been changed to seti and geti
  3319. *** since most assemblers already have the pseudo op-code SET.
  3320. *** Note that seti is designed to take multiple tagitems (max 8).
  3321. ***
  3322. ****************************************************************************
  3323.  
  3324. geti    MACRO
  3325.     move.l    \2,d0
  3326.     move.l    \1,a0
  3327.     move.l    \3,a1
  3328.     move.l    _IntuitionBase,a6
  3329.     CALLINT    GetAttr
  3330.     ENDM
  3331.  
  3332. seti    MACRO
  3333.     move.l    a2,-(sp)
  3334.     move.l    sp,a2
  3335.     clr.l    -(sp)
  3336.     cmv3    \3
  3337.     cmv3    \2
  3338.     move.l    \1,a0
  3339.     move.l    sp,a1
  3340.     move.l    _IntuitionBase,a6
  3341.     CALLINT SetAttrsA
  3342.     move.l    a2,sp
  3343.     move.l    (sp)+,a2
  3344.     ENDM
  3345.  
  3346. nnseti    MACRO
  3347.     move.l    a2,-(sp)
  3348.     move.l    sp,a2
  3349.     clr.l    -(sp)
  3350.     cmv3    \3
  3351.     cmv3    \2
  3352.     cmv3    #TRUE
  3353.     cmv3    #MUIA_NoNotify
  3354.     move.l    \1,a0
  3355.     move.l    sp,a1
  3356.     move.l    _IntuitionBase,a6
  3357.     CALLINT SetAttrsA
  3358.     move.l    a2,sp
  3359.     move.l    (sp)+,a2
  3360.     ENDM
  3361.  
  3362. setmutex MACRO
  3363.     seti    \1,#MUIA_Radio_Active,\2
  3364.     ENDM
  3365. setcycle MACRO
  3366.     seti    \1,#MUIA_Cycle_Active,\2
  3367.     ENDM
  3368. setstring MACRO
  3369.     seti    \1,#MUIA_String_Contents,\2
  3370.     ENDM
  3371. setcheckmark MACRO
  3372.     seti    \1,#MUIA_Selected,\2
  3373.     ENDM
  3374. setslider MACRO
  3375.     seti    \1,#MUIA_Numeric_Value,\2
  3376.     ENDM
  3377.  
  3378.  
  3379.    ENDC  ;MUI_NOSHORTCUTS
  3380.  
  3381.  
  3382. * End of Include file, for using MUI from an application program. The rest
  3383. * of this is for custom class implementors only
  3384. *
  3385. *****************************************************************************
  3386. *****************************************************************************
  3387. *****************************************************************************
  3388.  
  3389.  
  3390.    ENDC  ;LIBRARIES_MUI_I
  3391.