home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / dev / gui / mui / developer / oberon / txt / mui.mod < prev    next >
Text File  |  1994-07-02  |  74KB  |  1,748 lines

  1. MODULE Mui;
  2.  
  3. IMPORT Exec, Utility, Intuition, SYSTEM, ASL, Graphics;
  4.  
  5. CONST
  6.   name* = "muimaster.library";
  7.   minVersion* = 7;
  8.  
  9. TYPE
  10.  
  11.   Object * = Intuition.ObjectPtr;
  12.  
  13. TYPE
  14.   dispatcher *= PROCEDURE ( class{8} : Intuition.IClass; obj{10} : Object; message{9} : Intuition.Msg );
  15.  
  16. (***************************************************************************
  17. ** ARexx Interface
  18. ***************************************************************************)
  19.  
  20. TYPE
  21.   Command * = STRUCT
  22.     name            * : Exec.STRPTR;
  23.     template        * : Exec.STRPTR;
  24.     parameters      * : LONGINT;
  25.     hook            * : Utility.HookPtr;
  26.     reserved        * : ARRAY 5 OF LONGINT;
  27.   END;
  28.  
  29. CONST
  30.   templateID = SYSTEM.VAL(Exec.STRPTR,-1);
  31.  
  32.   rxerrBADDEFINITI0N  *= -1;
  33.   rxerr0UT0FMEM0RY    *= -2;
  34.   rxerrUNKN0WNC0MMAND *= -3;
  35.   rxerrBADSYNTAX      *= -4;
  36.  
  37.  
  38. (***************************************************************************
  39. ** Return values for MUI_Error()
  40. ***************************************************************************)
  41.  
  42. CONST
  43.  
  44.         eOK                  * = 0;
  45.         eOutOfMemory         * = 1;
  46.         eOutOfGfxMemory      * = 2;
  47.         eInvalidWindowObject * = 3;
  48.         eMissingLibrary      * = 4;
  49.         eNoARexx             * = 5;
  50.         eSingleTask          * = 6;
  51.  
  52.  
  53. (***************************************************************************
  54. ** Standard MUI Images
  55. ***************************************************************************)
  56.  
  57. CONST
  58.         iWindowBack    * =  0;
  59.         iRequesterBack * =  1;
  60.         iButtonBack    * =  2;
  61.         iListBack      * =  3;
  62.         iTextBack      * =  4;
  63.         iPropBack      * =  5;
  64.         iPopupBack     * =  6;
  65.         iSelectedBack  * =  7;
  66.         iListCursor    * =  8;
  67.         iListSelect    * =  9;
  68.         iListSelCur    * = 10;
  69.         iArrowUp       * = 11;
  70.         iArrowDown     * = 12;
  71.         iArrowLeft     * = 13;
  72.         iArrowRight    * = 14;
  73.         iCheckMark     * = 15;
  74.         iRadioButton   * = 16;
  75.         iCycle         * = 17;
  76.         iPopUp         * = 18;
  77.         iPopFile       * = 19;
  78.         iPopDrawer     * = 20;
  79.         iPropKnob      * = 21;
  80.         iDrawer        * = 22;
  81.         iHardDisk      * = 23;
  82.         iDisk          * = 24;
  83.         iChip          * = 25;
  84.         iVolume        * = 26;
  85.         iPopUpBack     * = 27;
  86.         iNetwork       * = 28;
  87.         iAssign        * = 29;
  88.         iTapePlay      * = 30;
  89.         iTapePlayBack  * = 31;
  90.         iTapePause     * = 32;
  91.         iTapeStop      * = 33;
  92.         iTapeRecord    * = 34;
  93.         iGroupBack     * = 35;
  94.         iSliderBack    * = 36;
  95.         iSliderKnob    * = 37;
  96.         iTapeUp        * = 38;
  97.         iTapeDown      * = 39;
  98.         iCount         * = 40;
  99.  
  100.  
  101.         iBACKGROUND    * = 128    (* These are direct color    *);
  102.         iSHADOW        * = 129    (* combinations and are not  *);
  103.         iSHINE         * = 130    (* affected by users prefs.  *);
  104.         iFILL          * = 131;
  105.         iSHADOWBACK    * = 132    (* Generally, you should     *);
  106.         iSHADOWFILL    * = 133    (* avoid using them. Better  *);
  107.         iSHADOWSHINE   * = 134    (* use one of the customized *);
  108.         iFILLBACK      * = 135    (* images above.             *);
  109.         iFILLSHINE     * = 136;
  110.         iSHINEBACK     * = 137;
  111.         iFILLBACK2     * = 138;
  112.         iHSHINEBACK    * = 139;
  113.         iHSHADOWBACK   * = 140;
  114.         iHSHINESHINE   * = 141;
  115.         iHSHADOWSHADOW * = 142;
  116.         iN1HSHINE      * = 143;
  117.         iLASTPAT       * = 143;
  118.  
  119. (***************************************************************************
  120. ** 0bject Types for MUI_Make0bject()
  121. ***************************************************************************)
  122. CONST
  123.   oLabel       *= 1;   (* STRPTR label, UL0NG flags *)
  124.   oButton      *= 2;   (* STRPTR label *)
  125.   oCheckmark   *= 3;   (* STRPTR label *)
  126.   oCycle       *= 4;   (* STRPTR label, STRPTR *entries *)
  127.   oRadio       *= 5;   (* STRPTR label, STRPTR *entries *)
  128.   oSlider      *= 6;   (* STRPTR label, L0NG min, L0NG max *)
  129.   oString      *= 7;   (* STRPTR label, L0NG maxlen *)
  130.   oPopButton   *= 8;   (* STRPTR imagespec *)
  131.   oHSpace      *= 9;   (* L0NG space   *)
  132.   oVSpace      *=10;   (* L0NG space   *)
  133.   oHBar        *=11;   (* L0NG space   *)
  134.   oVBar        *=12;   (* L0NG space   *)
  135.   oMenustripNM *=13;   (* struct NewMenu *nm, UL0NG flags *)
  136.   oMenuitem    *=14;   (* STRPTR label, STRPTR shortcut, UL0NG flags, UL0NG data  *)
  137.   oBarTitle    *=15;   (* STRPTR label *)
  138.  
  139. CONST
  140.   oLabelSingleFrame *= 0100H;
  141.   oLabelDoubleFrame *= 0200H;
  142.   oLabelLeftAligned *= 0400H;
  143.  
  144. (***************************************************************************
  145. ** Special values for some methods
  146. ***************************************************************************)
  147.  
  148. CONST
  149.  
  150.         vTriggerValue    *= 49893131H;
  151.         vNotTriggerValue *= 49893133H;
  152.         vEveryTime       *= 49893131H;
  153.  
  154.         vApplicationSaveENV     * =  0;
  155.         vApplicationSaveENVARC  * = -1;
  156.         vApplicationLoadENV     * =  0;
  157.         vApplicationLoadENVARC  * = -1;
  158.  
  159.         vApplicationReturnIDQuit * = -1;
  160.  
  161.         vListInsertTop       * =  0;
  162.         vListInsertActive    * = -1;
  163.         vListInsertSorted    * = -2;
  164.         vListInsertBottom    * = -3;
  165.  
  166.         vListRemoveFirst     * =  0;
  167.         vListRemoveActive    * = -1;
  168.         vListRemoveLast      * = -2;
  169.  
  170.         vListSelectOff       * =  0;
  171.         vListSelectOn        * =  1;
  172.         vListSelectToggle    * =  2;
  173.         vListSelectAsk       * =  3;
  174.  
  175.         vListJumpActive      * = -1;
  176.         vListGetEntryActive  * = -1;
  177.         vListSelectActive    * = -1;
  178.         vListSelectAll       * = -2;
  179.  
  180.         vListRedrawActive    * = -1;
  181.         vListRedrawAll       * = -2;
  182.  
  183.         vListExchangeActive  * = -1;
  184.  
  185.         vColorpanelGetColorActive *= -1;
  186.         vColorpanelSetColorActive *= -1;
  187.  
  188.  
  189. (***************************************************************************
  190. ** Control codes for text strings
  191. ***************************************************************************)
  192. CONST
  193.   xR *= "\033r";    (* right justified *)
  194.   xC *= "\033c";    (* centered        *)
  195.   xL *= "\033l";    (* left justified  *)
  196.  
  197.   xN *= "\033n";    (* normal     *)
  198.   xB *= "\033b";    (* bold       *)
  199.   xI *= "\033i";    (* italic     *)
  200.   xU *= "\033u";    (* underlined *)
  201.  
  202.   xPT *= "\0332";   (* text pen           *)
  203.   xPH *= "\0338";   (* highlight text pen *)
  204.  
  205. (****************************************************************************)
  206. (** Notify                                                                 **)
  207. (****************************************************************************)
  208.  
  209.   CONST cNotify * = "Notify.mui";
  210.  
  211. (* Methods *)
  212.  
  213.   CONST mCallHook                  * = 8042B96BH; (* V4 *)
  214.   CONST mFindUData                 * = 8042C196H; (* V8 *)
  215.   CONST mGetUData                  * = 8042ED0CH; (* V8 *)
  216.   CONST mKillNotify                * = 8042D240H; (* V4 *)
  217.   CONST mMultiSet                  * = 8042D356H; (* V7 *)
  218.   CONST mNotify                    * = 8042C9CBH; (* V4 *)
  219.   CONST mSet                       * = 8042549AH; (* V4 *)
  220.   CONST mSetAsString               * = 80422590H; (* V4 *)
  221.   CONST mSetUData                  * = 8042C920H; (* V8 *)
  222.   CONST mWriteLong                 * = 80428D86H; (* V6 *)
  223.   CONST mWriteString               * = 80424BF4H; (* V6 *)
  224.  
  225. (* Attributes *)
  226.  
  227.   CONST aAppMessage                 * = 80421955H; (* V5 ..g struct AppMessage * *)
  228.   CONST aHelpFile                   * = 80423A6EH; (* V4 isg STRPTR            *)
  229.   CONST aHelpLine                   * = 8042A825H; (* V4 isg LONG              *)
  230.   CONST aHelpNode                   * = 80420B85H; (* V4 isg STRPTR            *)
  231.   CONST aNoNotify                   * = 804237F9H; (* V7 .s. BOOL              *)
  232.   CONST aRevision                   * = 80427EAAH; (* V4 ..g LONG              *)
  233.   CONST aUserData                   * = 80420313H; (* V4 isg ULONG             *)
  234.   CONST aVersion                    * = 80422301H; (* V4 ..g LONG              *)
  235.  
  236.  
  237.  
  238. (****************************************************************************)
  239. (** Family                                                                 **)
  240. (****************************************************************************)
  241.  
  242.   CONST cFamily * = "Family.mui";
  243.  
  244. (* Methods *)
  245.  
  246.   CONST mFamilyAddHead             * = 8042E200H; (* V8 *)
  247.   CONST mFamilyAddTail             * = 8042D752H; (* V8 *)
  248.   CONST mFamilyInsert              * = 80424D34H; (* V8 *)
  249.   CONST mFamilyRemove              * = 8042F8A9H; (* V8 *)
  250.   CONST mFamilySort                * = 80421C49H; (* V8 *)
  251.   CONST mFamilyTransfer            * = 8042C14AH; (* V8 *)
  252.  
  253. (* Attributes *)
  254.  
  255.   CONST aFamilyChild                * = 8042C696H; (* V8 i.. Object *          *)
  256.  
  257.  
  258.  
  259. (****************************************************************************)
  260. (** Menustrip                                                              **)
  261. (****************************************************************************)
  262.  
  263.   CONST cMenustrip * = "Menustrip.mui";
  264.  
  265. (* Methods *)
  266.  
  267.  
  268. (* Attributes *)
  269.  
  270.   CONST aMenustripEnabled           * = 8042815BH; (* V8 isg BOOL              *)
  271.  
  272.  
  273.  
  274. (****************************************************************************)
  275. (** Menu                                                                   **)
  276. (****************************************************************************)
  277.  
  278.   CONST cMenu * = "Menu.mui";
  279.  
  280. (* Methods *)
  281.  
  282.  
  283. (* Attributes *)
  284.  
  285.   CONST aMenuEnabled                * = 8042ED48H; (* V8 isg BOOL              *)
  286.   CONST aMenuTitle                  * = 8042A0E3H; (* V8 isg STRPTR            *)
  287.  
  288.  
  289.  
  290. (****************************************************************************)
  291. (** Menuitem                                                               **)
  292. (****************************************************************************)
  293.  
  294.   CONST cMenuitem * = "Menuitem.mui";
  295.  
  296. (* Methods *)
  297.  
  298.  
  299. (* Attributes *)
  300.  
  301.   CONST aMenuitemChecked            * = 8042562AH; (* V8 isg BOOL              *)
  302.   CONST aMenuitemCheckit            * = 80425ACEH; (* V8 isg BOOL              *)
  303.   CONST aMenuitemEnabled            * = 8042AE0FH; (* V8 isg BOOL              *)
  304.   CONST aMenuitemExclude            * = 80420BC6H; (* V8 isg LONG              *)
  305.   CONST aMenuitemShortcut           * = 80422030H; (* V8 isg char              *)
  306.   CONST aMenuitemTitle              * = 804218BEH; (* V8 isg STRPTR            *)
  307.   CONST aMenuitemToggle             * = 80424D5CH; (* V8 isg BOOL              *)
  308.   CONST aMenuitemTrigger            * = 80426F32H; (* V8 ..g struct MenuItem * *)
  309.  
  310.  
  311.  
  312. (****************************************************************************)
  313. (** Application                                                            **)
  314. (****************************************************************************)
  315.  
  316.   CONST cApplication * = "Application.mui";
  317.  
  318. (* Methods *)
  319.  
  320.   CONST mApplicationGetMenuCheck   * = 8042C0A7H; (* V4 *)
  321.   CONST mApplicationGetMenuState   * = 8042A58FH; (* V4 *)
  322.   CONST mApplicationInput          * = 8042D0F5H; (* V4 *)
  323.   CONST mApplicationInputBuffered  * = 80427E59H; (* V4 *)
  324.   CONST mApplicationLoad           * = 8042F90DH; (* V4 *)
  325.   CONST mApplicationPushMethod     * = 80429EF8H; (* V4 *)
  326.   CONST mApplicationReturnID       * = 804276EFH; (* V4 *)
  327.   CONST mApplicationSave           * = 804227EFH; (* V4 *)
  328.   CONST mApplicationSetMenuCheck   * = 8042A707H; (* V4 *)
  329.   CONST mApplicationSetMenuState   * = 80428BEFH; (* V4 *)
  330.   CONST mApplicationShowHelp       * = 80426479H; (* V4 *)
  331.  
  332. (* Attributes *)
  333.  
  334.   CONST aApplicationActive          * = 804260ABH; (* V4 isg BOOL              *)
  335.   CONST aApplicationAuthor          * = 80424842H; (* V4 i.g STRPTR            *)
  336.   CONST aApplicationBase            * = 8042E07AH; (* V4 i.g STRPTR            *)
  337.   CONST aApplicationBroker          * = 8042DBCEH; (* V4 ..g Broker *          *)
  338.   CONST aApplicationBrokerHook      * = 80428F4BH; (* V4 isg struct Hook *     *)
  339.   CONST aApplicationBrokerPort      * = 8042E0ADH; (* V6 ..g struct MsgPort *  *)
  340.   CONST aApplicationBrokerPri       * = 8042C8D0H; (* V6 i.g LONG              *)
  341.   CONST aApplicationCommands        * = 80428648H; (* V4 isg struct MUI_Command * *)
  342.   CONST aApplicationCopyright       * = 8042EF4DH; (* V4 i.g STRPTR            *)
  343.   CONST aApplicationDescription     * = 80421FC6H; (* V4 i.g STRPTR            *)
  344.   CONST aApplicationDiskObject      * = 804235CBH; (* V4 isg struct DiskObject * *)
  345.   CONST aApplicationDoubleStart     * = 80423BC6H; (* V4 ..g BOOL              *)
  346.   CONST aApplicationDropObject      * = 80421266H; (* V5 is. Object *          *)
  347.   CONST aApplicationForceQuit       * = 804257DFH; (* V8 ..g BOOL              *)
  348.   CONST aApplicationHelpFile        * = 804293F4H; (* V8 isg STRPTR            *)
  349.   CONST aApplicationIconified       * = 8042A07FH; (* V4 .sg BOOL              *)
  350.   CONST aApplicationMenu            * = 80420E1FH; (* V4 i.g struct NewMenu *  *)
  351.   CONST aApplicationMenuAction      * = 80428961H; (* V4 ..g ULONG             *)
  352.   CONST aApplicationMenuHelp        * = 8042540BH; (* V4 ..g ULONG             *)
  353.   CONST aApplicationMenustrip       * = 804252D9H; (* V8 i.. Object *          *)
  354.   CONST aApplicationRexxHook        * = 80427C42H; (* V7 isg struct Hook *     *)
  355.   CONST aApplicationRexxMsg         * = 8042FD88H; (* V4 ..g struct RxMsg *    *)
  356.   CONST aApplicationRexxString      * = 8042D711H; (* V4 .s. STRPTR            *)
  357.   CONST aApplicationSingleTask      * = 8042A2C8H; (* V4 i.. BOOL              *)
  358.   CONST aApplicationSleep           * = 80425711H; (* V4 .s. BOOL              *)
  359.   CONST aApplicationTitle           * = 804281B8H; (* V4 i.g STRPTR            *)
  360.   CONST aApplicationVersion         * = 8042B33FH; (* V4 i.g STRPTR            *)
  361.   CONST aApplicationWindow          * = 8042BFE0H; (* V4 i.. Object *          *)
  362.  
  363.  
  364.  
  365. (****************************************************************************)
  366. (** Window                                                                 **)
  367. (****************************************************************************)
  368.  
  369.   CONST cWindow * = "Window.mui";
  370.  
  371. (* Methods *)
  372.  
  373.   CONST mWindowGetMenuCheck        * = 80420414H; (* V4 *)
  374.   CONST mWindowGetMenuState        * = 80420D2FH; (* V4 *)
  375.   CONST mWindowScreenToBack        * = 8042913DH; (* V4 *)
  376.   CONST mWindowScreenToFront       * = 804227A4H; (* V4 *)
  377.   CONST mWindowSetCycleChain       * = 80426510H; (* V4 *)
  378.   CONST mWindowSetMenuCheck        * = 80422243H; (* V4 *)
  379.   CONST mWindowSetMenuState        * = 80422B5EH; (* V4 *)
  380.   CONST mWindowToBack              * = 8042152EH; (* V4 *)
  381.   CONST mWindowToFront             * = 8042554FH; (* V4 *)
  382.  
  383. (* Attributes *)
  384.  
  385.   CONST aWindowActivate             * = 80428D2FH; (* V4 isg BOOL              *)
  386.   CONST aWindowActiveObject         * = 80427925H; (* V4 .sg Object *          *)
  387.   CONST aWindowAltHeight            * = 8042CCE3H; (* V4 i.g LONG              *)
  388.   CONST aWindowAltLeftEdge          * = 80422D65H; (* V4 i.g LONG              *)
  389.   CONST aWindowAltTopEdge           * = 8042E99BH; (* V4 i.g LONG              *)
  390.   CONST aWindowAltWidth             * = 804260F4H; (* V4 i.g LONG              *)
  391.   CONST aWindowAppWindow            * = 804280CFH; (* V5 i.. BOOL              *)
  392.   CONST aWindowBackdrop             * = 8042C0BBH; (* V4 i.. BOOL              *)
  393.   CONST aWindowBorderless           * = 80429B79H; (* V4 i.. BOOL              *)
  394.   CONST aWindowCloseGadget          * = 8042A110H; (* V4 i.. BOOL              *)
  395.   CONST aWindowCloseRequest         * = 8042E86EH; (* V4 ..g BOOL              *)
  396.   CONST aWindowDefaultObject        * = 804294D7H; (* V4 isg Object *          *)
  397.   CONST aWindowDepthGadget          * = 80421923H; (* V4 i.. BOOL              *)
  398.   CONST aWindowDragBar              * = 8042045DH; (* V4 i.. BOOL              *)
  399.   CONST aWindowHeight               * = 80425846H; (* V4 i.g LONG              *)
  400.   CONST aWindowID                   * = 804201BDH; (* V4 isg ULONG             *)
  401.   CONST aWindowInputEvent           * = 804247D8H; (* V4 ..g struct InputEvent * *)
  402.   CONST aWindowLeftEdge             * = 80426C65H; (* V4 i.g LONG              *)
  403.   CONST aWindowMenu                 * = 8042DB94H; (* V4 i.. struct NewMenu *  *)
  404.   CONST aWindowMenuAction           * = 80427521H; (* V8 isg ULONG             *)
  405.   CONST aWindowMenustrip            * = 8042855EH; (* V8 i.. Object *          *)
  406.   CONST aWindowNoMenus              * = 80429DF5H; (* V4 is. BOOL              *)
  407.   CONST aWindowOpen                 * = 80428AA0H; (* V4 .sg BOOL              *)
  408.   CONST aWindowPublicScreen         * = 804278E4H; (* V6 isg STRPTR            *)
  409.   CONST aWindowRefWindow            * = 804201F4H; (* V4 is. Object *          *)
  410.   CONST aWindowRootObject           * = 8042CBA5H; (* V4 i.. Object *          *)
  411.   CONST aWindowScreen               * = 8042DF4FH; (* V4 isg struct Screen *   *)
  412.   CONST aWindowScreenTitle          * = 804234B0H; (* V5 isg STRPTR            *)
  413.   CONST aWindowSizeGadget           * = 8042E33DH; (* V4 i.. BOOL              *)
  414.   CONST aWindowSizeRight            * = 80424780H; (* V4 i.. BOOL              *)
  415.   CONST aWindowSleep                * = 8042E7DBH; (* V4 .sg BOOL              *)
  416.   CONST aWindowTitle                * = 8042AD3DH; (* V4 isg STRPTR            *)
  417.   CONST aWindowTopEdge              * = 80427C66H; (* V4 i.g LONG              *)
  418.   CONST aWindowWidth                * = 8042DCAEH; (* V4 i.g LONG              *)
  419.   CONST aWindowWindow               * = 80426A42H; (* V4 ..g struct Window *   *)
  420.  
  421.   CONST vWindowActiveObjectNone     * = 0;
  422.   CONST vWindowActiveObjectNext     * = -1;
  423.   CONST vWindowActiveObjectPrev     * = -2;
  424.   PROCEDURE vWindowAltHeightMinMax      * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowAltHeightMinMax;
  425.   PROCEDURE vWindowAltHeightVisible     * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowAltHeightVisible;
  426.   PROCEDURE vWindowAltHeightScreen      * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowAltHeightScreen;
  427.   CONST vWindowAltHeightScaled      * = -1000;
  428.   CONST vWindowAltLeftEdgeCentered  * = -1;
  429.   CONST vWindowAltLeftEdgeMoused    * = -2;
  430.   CONST vWindowAltLeftEdgeNoChange  * = -1000;
  431.   CONST vWindowAltTopEdgeCentered   * = -1;
  432.   CONST vWindowAltTopEdgeMoused     * = -2;
  433.   PROCEDURE vWindowAltTopEdgeDelta      * (p:LONGINT): LONGINT; BEGIN RETURN (-3-(p)) END vWindowAltTopEdgeDelta;
  434.   CONST vWindowAltTopEdgeNoChange   * = -1000;
  435.   PROCEDURE vWindowAltWidthMinMax       * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowAltWidthMinMax;
  436.   PROCEDURE vWindowAltWidthVisible      * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowAltWidthVisible;
  437.   PROCEDURE vWindowAltWidthScreen       * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowAltWidthScreen;
  438.   CONST vWindowAltWidthScaled       * = -1000;
  439.   PROCEDURE vWindowHeightMinMax         * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowHeightMinMax;
  440.   PROCEDURE vWindowHeightVisible        * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowHeightVisible;
  441.   PROCEDURE vWindowHeightScreen         * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowHeightScreen;
  442.   CONST vWindowHeightScaled         * = -1000;
  443.   CONST vWindowHeightDefault        * = -1001;
  444.   CONST vWindowLeftEdgeCentered     * = -1;
  445.   CONST vWindowLeftEdgeMoused       * = -2;
  446.   CONST vWindowMenuNoMenu           * = -1;
  447.   CONST vWindowTopEdgeCentered      * = -1;
  448.   CONST vWindowTopEdgeMoused        * = -2;
  449.   PROCEDURE vWindowTopEdgeDelta         * (p:LONGINT): LONGINT; BEGIN RETURN (-3-(p)) END vWindowTopEdgeDelta;
  450.   PROCEDURE vWindowWidthMinMax          * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowWidthMinMax;
  451.   PROCEDURE vWindowWidthVisible         * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowWidthVisible;
  452.   PROCEDURE vWindowWidthScreen          * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowWidthScreen;
  453.   CONST vWindowWidthScaled          * = -1000;
  454.   CONST vWindowWidthDefault         * = -1001;
  455.  
  456.  
  457. (****************************************************************************)
  458. (** Area                                                                   **)
  459. (****************************************************************************)
  460.  
  461.   CONST cArea * = "Area.mui";
  462.  
  463. (* Methods *)
  464.  
  465.   CONST mAskMinMax                 * = 80423874H; (* V4 *)
  466.   CONST mCleanup                   * = 8042D985H; (* V4 *)
  467.   CONST mDraw                      * = 80426F3FH; (* V4 *)
  468.   CONST mHandleInput               * = 80422A1AH; (* V4 *)
  469.   CONST mHide                      * = 8042F20FH; (* V4 *)
  470.   CONST mSetup                     * = 80428354H; (* V4 *)
  471.   CONST mShow                      * = 8042CC84H; (* V4 *)
  472.  
  473. (* Attributes *)
  474.  
  475.   CONST aApplicationObject          * = 8042D3EEH; (* V4 ..g Object *          *)
  476.   CONST aBackground                 * = 8042545BH; (* V4 is. LONG              *)
  477.   CONST aBottomEdge                 * = 8042E552H; (* V4 ..g LONG              *)
  478.   CONST aControlChar                * = 8042120BH; (* V4 i.. char              *)
  479.   CONST aDisabled                   * = 80423661H; (* V4 isg BOOL              *)
  480.   CONST aExportID                   * = 8042D76EH; (* V4 isg LONG              *)
  481.   CONST aFixHeight                  * = 8042A92BH; (* V4 i.. LONG              *)
  482.   CONST aFixHeightTxt               * = 804276F2H; (* V4 i.. LONG              *)
  483.   CONST aFixWidth                   * = 8042A3F1H; (* V4 i.. LONG              *)
  484.   CONST aFixWidthTxt                * = 8042D044H; (* V4 i.. STRPTR            *)
  485.   CONST aFont                       * = 8042BE50H; (* V4 i.g struct TextFont * *)
  486.   CONST aFrame                      * = 8042AC64H; (* V4 i.. LONG              *)
  487.   CONST aFramePhantomHoriz          * = 8042ED76H; (* V4 i.. BOOL              *)
  488.   CONST aFrameTitle                 * = 8042D1C7H; (* V4 i.. STRPTR            *)
  489.   CONST aHeight                     * = 80423237H; (* V4 ..g LONG              *)
  490.   CONST aHorizWeight                * = 80426DB9H; (* V4 i.. LONG              *)
  491.   CONST aInnerBottom                * = 8042F2C0H; (* V4 i.. LONG              *)
  492.   CONST aInnerLeft                  * = 804228F8H; (* V4 i.. LONG              *)
  493.   CONST aInnerRight                 * = 804297FFH; (* V4 i.. LONG              *)
  494.   CONST aInnerTop                   * = 80421EB6H; (* V4 i.. LONG              *)
  495.   CONST aInputMode                  * = 8042FB04H; (* V4 i.. LONG              *)
  496.   CONST aLeftEdge                   * = 8042BEC6H; (* V4 ..g LONG              *)
  497.   CONST aPressed                    * = 80423535H; (* V4 ..g BOOL              *)
  498.   CONST aRightEdge                  * = 8042BA82H; (* V4 ..g LONG              *)
  499.   CONST aSelected                   * = 8042654BH; (* V4 isg BOOL              *)
  500.   CONST aShowMe                     * = 80429BA8H; (* V4 isg BOOL              *)
  501.   CONST aShowSelState               * = 8042CAACH; (* V4 i.. BOOL              *)
  502.   CONST aTimer                      * = 80426435H; (* V4 ..g LONG              *)
  503.   CONST aTopEdge                    * = 8042509BH; (* V4 ..g LONG              *)
  504.   CONST aVertWeight                 * = 804298D0H; (* V4 i.. LONG              *)
  505.   CONST aWeight                     * = 80421D1FH; (* V4 i.. LONG              *)
  506.   CONST aWidth                      * = 8042B59CH; (* V4 ..g LONG              *)
  507.   CONST aWindow                     * = 80421591H; (* V4 ..g struct Window *   *)
  508.   CONST aWindowObject               * = 8042669EH; (* V4 ..g Object *          *)
  509.  
  510.   CONST vFontInherit                * = 0;
  511.   CONST vFontNormal                 * = -1;
  512.   CONST vFontList                   * = -2;
  513.   CONST vFontTiny                   * = -3;
  514.   CONST vFontFixed                  * = -4;
  515.   CONST vFontTitle                  * = -5;
  516.   CONST vFontBig                    * = -6;
  517.   CONST vFrameNone                  * = 0;
  518.   CONST vFrameButton                * = 1;
  519.   CONST vFrameImageButton           * = 2;
  520.   CONST vFrameText                  * = 3;
  521.   CONST vFrameString                * = 4;
  522.   CONST vFrameReadList              * = 5;
  523.   CONST vFrameInputList             * = 6;
  524.   CONST vFrameProp                  * = 7;
  525.   CONST vFrameGauge                 * = 8;
  526.   CONST vFrameGroup                 * = 9;
  527.   CONST vFramePopUp                 * = 10;
  528.   CONST vFrameVirtual               * = 11;
  529.   CONST vFrameSlider                * = 12;
  530.   CONST vFrameCount                 * = 13;
  531.   CONST vInputModeNone              * = 0;
  532.   CONST vInputModeRelVerify         * = 1;
  533.   CONST vInputModeImmediate         * = 2;
  534.   CONST vInputModeToggle            * = 3;
  535.  
  536.  
  537. (****************************************************************************)
  538. (** Rectangle                                                              **)
  539. (****************************************************************************)
  540.  
  541.   CONST cRectangle * = "Rectangle.mui";
  542.  
  543. (* Attributes *)
  544.  
  545.   CONST aRectangleHBar              * = 8042C943H; (* V7 i.g BOOL              *)
  546.   CONST aRectangleVBar              * = 80422204H; (* V7 i.g BOOL              *)
  547.  
  548.  
  549.  
  550. (****************************************************************************)
  551. (** Image                                                                  **)
  552. (****************************************************************************)
  553.  
  554.   CONST cImage * = "Image.mui";
  555.  
  556. (* Attributes *)
  557.  
  558.   CONST aImageFontMatch             * = 8042815DH; (* V4 i.. BOOL              *)
  559.   CONST aImageFontMatchHeight       * = 80429F26H; (* V4 i.. BOOL              *)
  560.   CONST aImageFontMatchWidth        * = 804239BFH; (* V4 i.. BOOL              *)
  561.   CONST aImageFreeHoriz             * = 8042DA84H; (* V4 i.. BOOL              *)
  562.   CONST aImageFreeVert              * = 8042EA28H; (* V4 i.. BOOL              *)
  563.   CONST aImageOldImage              * = 80424F3DH; (* V4 i.. struct Image *    *)
  564.   CONST aImageSpec                  * = 804233D5H; (* V4 i.. char *            *)
  565.   CONST aImageState                 * = 8042A3ADH; (* V4 is. LONG              *)
  566.  
  567.  
  568.  
  569. (****************************************************************************)
  570. (** Bitmap                                                                 **)
  571. (****************************************************************************)
  572.  
  573.   CONST cBitmap * = "Bitmap.mui";
  574.  
  575. (* Attributes *)
  576.  
  577.   CONST aBitmapBitmap               * = 804279BDH; (* V8 isg struct BitMap *   *)
  578.   CONST aBitmapHeight               * = 80421560H; (* V8 isg LONG              *)
  579.   CONST aBitmapMappingTable         * = 8042E23DH; (* V8 isg UBYTE *           *)
  580.   CONST aBitmapSourceColors         * = 80425360H; (* V8 isg ULONG *           *)
  581.   CONST aBitmapTransparent          * = 80422805H; (* V8 isg LONG              *)
  582.   CONST aBitmapWidth                * = 8042EB3AH; (* V8 isg LONG              *)
  583.  
  584.  
  585.  
  586. (****************************************************************************)
  587. (** Bodychunk                                                              **)
  588. (****************************************************************************)
  589.  
  590.   CONST cBodychunk * = "Bodychunk.mui";
  591.  
  592. (* Attributes *)
  593.  
  594.   CONST aBodychunkBody              * = 8042CA67H; (* V8 isg UBYTE *           *)
  595.   CONST aBodychunkCompression       * = 8042DE5FH; (* V8 isg UBYTE             *)
  596.   CONST aBodychunkDepth             * = 8042C392H; (* V8 isg LONG              *)
  597.   CONST aBodychunkMasking           * = 80423B0EH; (* V8 isg UBYTE             *)
  598.  
  599.  
  600.  
  601. (****************************************************************************)
  602. (** Text                                                                   **)
  603. (****************************************************************************)
  604.  
  605.   CONST cText * = "Text.mui";
  606.  
  607. (* Attributes *)
  608.  
  609.   CONST aTextContents               * = 8042F8DCH; (* V4 isg STRPTR            *)
  610.   CONST aTextHiChar                 * = 804218FFH; (* V4 i.. char              *)
  611.   CONST aTextPreParse               * = 8042566DH; (* V4 isg STRPTR            *)
  612.   CONST aTextSetMax                 * = 80424D0AH; (* V4 i.. BOOL              *)
  613.   CONST aTextSetMin                 * = 80424E10H; (* V4 i.. BOOL              *)
  614.  
  615.  
  616.  
  617. (****************************************************************************)
  618. (** String                                                                 **)
  619. (****************************************************************************)
  620.  
  621.   CONST cString * = "String.mui";
  622.  
  623. (* Attributes *)
  624.  
  625.   CONST aStringAccept               * = 8042E3E1H; (* V4 isg STRPTR            *)
  626.   CONST aStringAcknowledge          * = 8042026CH; (* V4 ..g STRPTR            *)
  627.   CONST aStringAttachedList         * = 80420FD2H; (* V4 i.. Object *          *)
  628.   CONST aStringBufferPos            * = 80428B6CH; (* V4 .sg LONG              *)
  629.   CONST aStringContents             * = 80428FFDH; (* V4 isg STRPTR            *)
  630.   CONST aStringDisplayPos           * = 8042CCBFH; (* V4 .sg LONG              *)
  631.   CONST aStringEditHook             * = 80424C33H; (* V7 isg struct Hook *     *)
  632.   CONST aStringFormat               * = 80427484H; (* V4 i.g LONG              *)
  633.   CONST aStringInteger              * = 80426E8AH; (* V4 isg ULONG             *)
  634.   CONST aStringMaxLen               * = 80424984H; (* V4 i.. LONG              *)
  635.   CONST aStringReject               * = 8042179CH; (* V4 isg STRPTR            *)
  636.   CONST aStringSecret               * = 80428769H; (* V4 i.g BOOL              *)
  637.  
  638.   CONST vStringFormatLeft           * = 0;
  639.   CONST vStringFormatCenter         * = 1;
  640.   CONST vStringFormatRight          * = 2;
  641.  
  642.  
  643. (****************************************************************************)
  644. (** Prop                                                                   **)
  645. (****************************************************************************)
  646.  
  647.   CONST cProp * = "Prop.mui";
  648.  
  649. (* Attributes *)
  650.  
  651.   CONST aPropEntries                * = 8042FBDBH; (* V4 isg LONG              *)
  652.   CONST aPropFirst                  * = 8042D4B2H; (* V4 isg LONG              *)
  653.   CONST aPropHoriz                  * = 8042F4F3H; (* V4 i.g BOOL              *)
  654.   CONST aPropSlider                 * = 80429C3AH; (* V4 isg BOOL              *)
  655.   CONST aPropVisible                * = 8042FEA6H; (* V4 isg LONG              *)
  656.  
  657.  
  658.  
  659. (****************************************************************************)
  660. (** Gauge                                                                  **)
  661. (****************************************************************************)
  662.  
  663.   CONST cGauge * = "Gauge.mui";
  664.  
  665. (* Attributes *)
  666.  
  667.   CONST aGaugeCurrent               * = 8042F0DDH; (* V4 isg LONG              *)
  668.   CONST aGaugeDivide                * = 8042D8DFH; (* V4 isg BOOL              *)
  669.   CONST aGaugeHoriz                 * = 804232DDH; (* V4 i.. BOOL              *)
  670.   CONST aGaugeInfoText              * = 8042BF15H; (* V7 isg char *            *)
  671.   CONST aGaugeMax                   * = 8042BCDBH; (* V4 isg LONG              *)
  672.  
  673.  
  674.  
  675. (****************************************************************************)
  676. (** Scale                                                                  **)
  677. (****************************************************************************)
  678.  
  679.   CONST cScale * = "Scale.mui";
  680.  
  681. (* Attributes *)
  682.  
  683.   CONST aScaleHoriz                 * = 8042919AH; (* V4 isg BOOL              *)
  684.  
  685.  
  686.  
  687. (****************************************************************************)
  688. (** Boopsi                                                                 **)
  689. (****************************************************************************)
  690.  
  691.   CONST cBoopsi * = "Boopsi.mui";
  692.  
  693. (* Attributes *)
  694.  
  695.   CONST aBoopsiClass                * = 80426999H; (* V4 isg struct IClass *   *)
  696.   CONST aBoopsiClassID              * = 8042BFA3H; (* V4 isg char *            *)
  697.   CONST aBoopsiMaxHeight            * = 8042757FH; (* V4 isg ULONG             *)
  698.   CONST aBoopsiMaxWidth             * = 8042BCB1H; (* V4 isg ULONG             *)
  699.   CONST aBoopsiMinHeight            * = 80422C93H; (* V4 isg ULONG             *)
  700.   CONST aBoopsiMinWidth             * = 80428FB2H; (* V4 isg ULONG             *)
  701.   CONST aBoopsiObject               * = 80420178H; (* V4 ..g Object *          *)
  702.   CONST aBoopsiRemember             * = 8042F4BDH; (* V4 i.. ULONG             *)
  703.   CONST aBoopsiTagDrawInfo          * = 8042BAE7H; (* V4 isg ULONG             *)
  704.   CONST aBoopsiTagScreen            * = 8042BC71H; (* V4 isg ULONG             *)
  705.   CONST aBoopsiTagWindow            * = 8042E11DH; (* V4 isg ULONG             *)
  706.  
  707.  
  708.  
  709. (****************************************************************************)
  710. (** Colorfield                                                             **)
  711. (****************************************************************************)
  712.  
  713.   CONST cColorfield * = "Colorfield.mui";
  714.  
  715. (* Attributes *)
  716.  
  717.   CONST aColorfieldBlue             * = 8042D3B0H; (* V4 isg ULONG             *)
  718.   CONST aColorfieldGreen            * = 80424466H; (* V4 isg ULONG             *)
  719.   CONST aColorfieldPen              * = 8042713AH; (* V4 ..g ULONG             *)
  720.   CONST aColorfieldRed              * = 804279F6H; (* V4 isg ULONG             *)
  721.   CONST aColorfieldRGB              * = 8042677AH; (* V4 isg ULONG *           *)
  722.  
  723.  
  724.  
  725. (****************************************************************************)
  726. (** List                                                                   **)
  727. (****************************************************************************)
  728.  
  729.   CONST cList * = "List.mui";
  730.  
  731. (* Methods *)
  732.  
  733.   CONST mListClear                 * = 8042AD89H; (* V4 *)
  734.   CONST mListExchange              * = 8042468CH; (* V4 *)
  735.   CONST mListGetEntry              * = 804280ECH; (* V4 *)
  736.   CONST mListInsert                * = 80426C87H; (* V4 *)
  737.   CONST mListInsertSingle          * = 804254D5H; (* V7 *)
  738.   CONST mListJump                  * = 8042BAABH; (* V4 *)
  739.   CONST mListNextSelected          * = 80425F17H; (* V6 *)
  740.   CONST mListRedraw                * = 80427993H; (* V4 *)
  741.   CONST mListRemove                * = 8042647EH; (* V4 *)
  742.   CONST mListSelect                * = 804252D8H; (* V4 *)
  743.   CONST mListSort                  * = 80422275H; (* V4 *)
  744.  
  745. (* Attributes *)
  746.  
  747.   CONST aListActive                 * = 8042391CH; (* V4 isg LONG              *)
  748.   CONST aListAdjustHeight           * = 8042850DH; (* V4 i.. BOOL              *)
  749.   CONST aListAdjustWidth            * = 8042354AH; (* V4 i.. BOOL              *)
  750.   CONST aListCompareHook            * = 80425C14H; (* V4 is. struct Hook *     *)
  751.   CONST aListConstructHook          * = 8042894FH; (* V4 is. struct Hook *     *)
  752.   CONST aListDestructHook           * = 804297CEH; (* V4 is. struct Hook *     *)
  753.   CONST aListDisplayHook            * = 8042B4D5H; (* V4 is. struct Hook *     *)
  754.   CONST aListEntries                * = 80421654H; (* V4 ..g LONG              *)
  755.   CONST aListFirst                  * = 804238D4H; (* V4 ..g LONG              *)
  756.   CONST aListFormat                 * = 80423C0AH; (* V4 isg STRPTR            *)
  757.   CONST aListMultiTestHook          * = 8042C2C6H; (* V4 is. struct Hook *     *)
  758.   CONST aListQuiet                  * = 8042D8C7H; (* V4 .s. BOOL              *)
  759.   CONST aListSourceArray            * = 8042C0A0H; (* V4 i.. APTR              *)
  760.   CONST aListTitle                  * = 80423E66H; (* V6 isg char *            *)
  761.   CONST aListVisible                * = 8042191FH; (* V4 ..g LONG              *)
  762.  
  763.   CONST vListActiveOff              * = -1;
  764.   CONST vListActiveTop              * = -2;
  765.   CONST vListActiveBottom           * = -3;
  766.   CONST vListActiveUp               * = -4;
  767.   CONST vListActiveDown             * = -5;
  768.   CONST vListActivePageUp           * = -6;
  769.   CONST vListActivePageDown         * = -7;
  770.   CONST vListConstructHookString    * = -1;
  771.   CONST vListDestructHookString     * = -1;
  772.  
  773.  
  774. (****************************************************************************)
  775. (** Floattext                                                              **)
  776. (****************************************************************************)
  777.  
  778.   CONST cFloattext * = "Floattext.mui";
  779.  
  780. (* Attributes *)
  781.  
  782.   CONST aFloattextJustify           * = 8042DC03H; (* V4 isg BOOL              *)
  783.   CONST aFloattextSkipChars         * = 80425C7DH; (* V4 is. STRPTR            *)
  784.   CONST aFloattextTabSize           * = 80427D17H; (* V4 is. LONG              *)
  785.   CONST aFloattextText              * = 8042D16AH; (* V4 isg STRPTR            *)
  786.  
  787.  
  788.  
  789. (****************************************************************************)
  790. (** Volumelist                                                             **)
  791. (****************************************************************************)
  792.  
  793.   CONST cVolumelist * = "Volumelist.mui";
  794.  
  795.  
  796. (****************************************************************************)
  797. (** Scrmodelist                                                            **)
  798. (****************************************************************************)
  799.  
  800.   CONST cScrmodelist * = "Scrmodelist.mui";
  801.  
  802. (* Attributes *)
  803.  
  804.  
  805.  
  806.  
  807. (****************************************************************************)
  808. (** Dirlist                                                                **)
  809. (****************************************************************************)
  810.  
  811.   CONST cDirlist * = "Dirlist.mui";
  812.  
  813. (* Methods *)
  814.  
  815.   CONST mDirlistReRead             * = 80422D71H; (* V4 *)
  816.  
  817. (* Attributes *)
  818.  
  819.   CONST aDirlistAcceptPattern       * = 8042760AH; (* V4 is. STRPTR            *)
  820.   CONST aDirlistDirectory           * = 8042EA41H; (* V4 is. STRPTR            *)
  821.   CONST aDirlistDrawersOnly         * = 8042B379H; (* V4 is. BOOL              *)
  822.   CONST aDirlistFilesOnly           * = 8042896AH; (* V4 is. BOOL              *)
  823.   CONST aDirlistFilterDrawers       * = 80424AD2H; (* V4 is. BOOL              *)
  824.   CONST aDirlistFilterHook          * = 8042AE19H; (* V4 is. struct Hook *     *)
  825.   CONST aDirlistMultiSelDirs        * = 80428653H; (* V6 is. BOOL              *)
  826.   CONST aDirlistNumBytes            * = 80429E26H; (* V4 ..g LONG              *)
  827.   CONST aDirlistNumDrawers          * = 80429CB8H; (* V4 ..g LONG              *)
  828.   CONST aDirlistNumFiles            * = 8042A6F0H; (* V4 ..g LONG              *)
  829.   CONST aDirlistPath                * = 80426176H; (* V4 ..g STRPTR            *)
  830.   CONST aDirlistRejectIcons         * = 80424808H; (* V4 is. BOOL              *)
  831.   CONST aDirlistRejectPattern       * = 804259C7H; (* V4 is. STRPTR            *)
  832.   CONST aDirlistSortDirs            * = 8042BBB9H; (* V4 is. LONG              *)
  833.   CONST aDirlistSortHighLow         * = 80421896H; (* V4 is. BOOL              *)
  834.   CONST aDirlistSortType            * = 804228BCH; (* V4 is. LONG              *)
  835.   CONST aDirlistStatus              * = 804240DEH; (* V4 ..g LONG              *)
  836.  
  837.   CONST vDirlistSortDirsFirst       * = 0;
  838.   CONST vDirlistSortDirsLast        * = 1;
  839.   CONST vDirlistSortDirsMix         * = 2;
  840.   CONST vDirlistSortTypeName        * = 0;
  841.   CONST vDirlistSortTypeDate        * = 1;
  842.   CONST vDirlistSortTypeSize        * = 2;
  843.   CONST vDirlistStatusInvalid       * = 0;
  844.   CONST vDirlistStatusReading       * = 1;
  845.   CONST vDirlistStatusValid         * = 2;
  846.  
  847.  
  848. (****************************************************************************)
  849. (** Group                                                                  **)
  850. (****************************************************************************)
  851.  
  852.   CONST cGroup * = "Group.mui";
  853.  
  854. (* Methods *)
  855.  
  856.  
  857. (* Attributes *)
  858.  
  859.   CONST aGroupActivePage            * = 80424199H; (* V5 isg LONG              *)
  860.   CONST aGroupChild                 * = 804226E6H; (* V4 i.. Object *          *)
  861.   CONST aGroupColumns               * = 8042F416H; (* V4 is. LONG              *)
  862.   CONST aGroupHoriz                 * = 8042536BH; (* V4 i.. BOOL              *)
  863.   CONST aGroupHorizSpacing          * = 8042C651H; (* V4 is. LONG              *)
  864.   CONST aGroupPageMode              * = 80421A5FH; (* V5 is. BOOL              *)
  865.   CONST aGroupRows                  * = 8042B68FH; (* V4 is. LONG              *)
  866.   CONST aGroupSameHeight            * = 8042037EH; (* V4 i.. BOOL              *)
  867.   CONST aGroupSameSize              * = 80420860H; (* V4 i.. BOOL              *)
  868.   CONST aGroupSameWidth             * = 8042B3ECH; (* V4 i.. BOOL              *)
  869.   CONST aGroupSpacing               * = 8042866DH; (* V4 is. LONG              *)
  870.   CONST aGroupVertSpacing           * = 8042E1BFH; (* V4 is. LONG              *)
  871.  
  872.  
  873.  
  874. (****************************************************************************)
  875. (** Register                                                               **)
  876. (****************************************************************************)
  877.  
  878.   CONST cRegister * = "Register.mui";
  879.  
  880. (* Attributes *)
  881.  
  882.   CONST aRegisterFrame              * = 8042349BH; (* V7 i.g BOOL              *)
  883.   CONST aRegisterTitles             * = 804297ECH; (* V7 i.g STRPTR *          *)
  884.  
  885.  
  886.  
  887. (****************************************************************************)
  888. (** Virtgroup                                                              **)
  889. (****************************************************************************)
  890.  
  891.   CONST cVirtgroup * = "Virtgroup.mui";
  892.  
  893. (* Methods *)
  894.  
  895.  
  896. (* Attributes *)
  897.  
  898.   CONST aVirtgroupHeight            * = 80423038H; (* V6 ..g LONG              *)
  899.   CONST aVirtgroupLeft              * = 80429371H; (* V6 isg LONG              *)
  900.   CONST aVirtgroupTop               * = 80425200H; (* V6 isg LONG              *)
  901.   CONST aVirtgroupWidth             * = 80427C49H; (* V6 ..g LONG              *)
  902.  
  903.  
  904.  
  905. (****************************************************************************)
  906. (** Scrollgroup                                                            **)
  907. (****************************************************************************)
  908.  
  909.   CONST cScrollgroup * = "Scrollgroup.mui";
  910.  
  911. (* Attributes *)
  912.  
  913.   CONST aScrollgroupContents        * = 80421261H; (* V4 i.. Object *          *)
  914.  
  915.  
  916.  
  917. (****************************************************************************)
  918. (** Scrollbar                                                              **)
  919. (****************************************************************************)
  920.  
  921.   CONST cScrollbar * = "Scrollbar.mui";
  922.  
  923.  
  924. (****************************************************************************)
  925. (** Listview                                                               **)
  926. (****************************************************************************)
  927.  
  928.   CONST cListview * = "Listview.mui";
  929.  
  930. (* Attributes *)
  931.  
  932.   CONST aListviewClickColumn        * = 8042D1B3H; (* V7 ..g LONG              *)
  933.   CONST aListviewDefClickColumn     * = 8042B296H; (* V7 isg LONG              *)
  934.   CONST aListviewDoubleClick        * = 80424635H; (* V4 i.g BOOL              *)
  935.   CONST aListviewInput              * = 8042682DH; (* V4 i.. BOOL              *)
  936.   CONST aListviewList               * = 8042BCCEH; (* V4 i.. Object *          *)
  937.   CONST aListviewMultiSelect        * = 80427E08H; (* V7 i.. LONG              *)
  938.   CONST aListviewSelectChange       * = 8042178FH; (* V4 ..g BOOL              *)
  939.  
  940.   CONST vListviewMultiSelectNone    * = 0;
  941.   CONST vListviewMultiSelectDefault * = 1;
  942.   CONST vListviewMultiSelectShifted * = 2;
  943.   CONST vListviewMultiSelectAlways  * = 3;
  944.  
  945.  
  946. (****************************************************************************)
  947. (** Radio                                                                  **)
  948. (****************************************************************************)
  949.  
  950.   CONST cRadio * = "Radio.mui";
  951.  
  952. (* Attributes *)
  953.  
  954.   CONST aRadioActive                * = 80429B41H; (* V4 isg LONG              *)
  955.   CONST aRadioEntries               * = 8042B6A1H; (* V4 i.. STRPTR *          *)
  956.  
  957.  
  958.  
  959. (****************************************************************************)
  960. (** Cycle                                                                  **)
  961. (****************************************************************************)
  962.  
  963.   CONST cCycle * = "Cycle.mui";
  964.  
  965. (* Attributes *)
  966.  
  967.   CONST aCycleActive                * = 80421788H; (* V4 isg LONG              *)
  968.   CONST aCycleEntries               * = 80420629H; (* V4 i.. STRPTR *          *)
  969.  
  970.   CONST vCycleActiveNext            * = -1;
  971.   CONST vCycleActivePrev            * = -2;
  972.  
  973.  
  974. (****************************************************************************)
  975. (** Slider                                                                 **)
  976. (****************************************************************************)
  977.  
  978.   CONST cSlider * = "Slider.mui";
  979.  
  980. (* Attributes *)
  981.  
  982.   CONST aSliderLevel                * = 8042AE3AH; (* V4 isg LONG              *)
  983.   CONST aSliderMax                  * = 8042D78AH; (* V4 i.. LONG              *)
  984.   CONST aSliderMin                  * = 8042E404H; (* V4 i.. LONG              *)
  985.   CONST aSliderQuiet                * = 80420B26H; (* V6 i.. BOOL              *)
  986.   CONST aSliderReverse              * = 8042F2A0H; (* V4 isg BOOL              *)
  987.  
  988.  
  989.  
  990. (****************************************************************************)
  991. (** Coloradjust                                                            **)
  992. (****************************************************************************)
  993.  
  994.   CONST cColoradjust * = "Coloradjust.mui";
  995.  
  996. (* Attributes *)
  997.  
  998.   CONST aColoradjustBlue            * = 8042B8A3H; (* V4 isg ULONG             *)
  999.   CONST aColoradjustGreen           * = 804285ABH; (* V4 isg ULONG             *)
  1000.   CONST aColoradjustModeID          * = 8042EC59H; (* V4 isg ULONG             *)
  1001.   CONST aColoradjustRed             * = 80420EAAH; (* V4 isg ULONG             *)
  1002.   CONST aColoradjustRGB             * = 8042F899H; (* V4 isg ULONG *           *)
  1003.  
  1004.  
  1005.  
  1006. (****************************************************************************)
  1007. (** Palette                                                                **)
  1008. (****************************************************************************)
  1009.  
  1010.   CONST cPalette * = "Palette.mui";
  1011.  
  1012. (* Attributes *)
  1013.  
  1014.   CONST aPaletteEntries             * = 8042A3D8H; (* V6 i.g struct MUI_Palette_Entry * *)
  1015.   CONST aPaletteGroupable           * = 80423E67H; (* V6 isg BOOL              *)
  1016.   CONST aPaletteNames               * = 8042C3A2H; (* V6 isg char **           *)
  1017.  
  1018.  
  1019.  
  1020. (****************************************************************************)
  1021. (** Colorpanel                                                             **)
  1022. (****************************************************************************)
  1023.  
  1024.   CONST cColorpanel * = "Colorpanel.mui";
  1025.  
  1026. (* Methods *)
  1027.  
  1028.  
  1029. (* Attributes *)
  1030.  
  1031.  
  1032.  
  1033.  
  1034. (****************************************************************************)
  1035. (** Popstring                                                              **)
  1036. (****************************************************************************)
  1037.  
  1038.   CONST cPopstring * = "Popstring.mui";
  1039.  
  1040. (* Methods *)
  1041.  
  1042.   CONST mPopstringClose            * = 8042DC52H; (* V7 *)
  1043.   CONST mPopstringOpen             * = 804258BAH; (* V7 *)
  1044.  
  1045. (* Attributes *)
  1046.  
  1047.   CONST aPopstringButton            * = 8042D0B9H; (* V7 i.g Object *          *)
  1048.   CONST aPopstringCloseHook         * = 804256BFH; (* V7 isg struct Hook *     *)
  1049.   CONST aPopstringOpenHook          * = 80429D00H; (* V7 isg struct Hook *     *)
  1050.   CONST aPopstringString            * = 804239EAH; (* V7 i.g Object *          *)
  1051.   CONST aPopstringToggle            * = 80422B7AH; (* V7 isg BOOL              *)
  1052.  
  1053.  
  1054.  
  1055. (****************************************************************************)
  1056. (** Popobject                                                              **)
  1057. (****************************************************************************)
  1058.  
  1059.   CONST cPopobject * = "Popobject.mui";
  1060.  
  1061. (* Attributes *)
  1062.  
  1063.   CONST aPopobjectFollow            * = 80424CB5H; (* V7 isg BOOL              *)
  1064.   CONST aPopobjectLight             * = 8042A5A3H; (* V7 isg BOOL              *)
  1065.   CONST aPopobjectObject            * = 804293E3H; (* V7 i.g Object *          *)
  1066.   CONST aPopobjectObjStrHook        * = 8042DB44H; (* V7 isg struct Hook *     *)
  1067.   CONST aPopobjectStrObjHook        * = 8042FBE1H; (* V7 isg struct Hook *     *)
  1068.   CONST aPopobjectVolatile          * = 804252ECH; (* V7 isg BOOL              *)
  1069.  
  1070.  
  1071.  
  1072. (****************************************************************************)
  1073. (** Poplist                                                                **)
  1074. (****************************************************************************)
  1075.  
  1076.   CONST cPoplist * = "Poplist.mui";
  1077.  
  1078. (* Attributes *)
  1079.  
  1080.   CONST aPoplistArray               * = 8042084CH; (* V8 i.. char **           *)
  1081.  
  1082.  
  1083.  
  1084. (****************************************************************************)
  1085. (** Popasl                                                                 **)
  1086. (****************************************************************************)
  1087.  
  1088.   CONST cPopasl * = "Popasl.mui";
  1089.  
  1090. (* Attributes *)
  1091.  
  1092.   CONST aPopaslActive               * = 80421B37H; (* V7 ..g BOOL              *)
  1093.   CONST aPopaslStartHook            * = 8042B703H; (* V7 isg struct Hook *     *)
  1094.   CONST aPopaslStopHook             * = 8042D8D2H; (* V7 isg struct Hook *     *)
  1095.   CONST aPopaslType                 * = 8042DF3DH; (* V7 i.g ULONG             *)
  1096.  
  1097. (***************************************************************************
  1098. ** Parameter structures for some classes
  1099. ***************************************************************************)
  1100.  
  1101. TYPE
  1102.   PaletteEntryPtr * = UNTRACED POINTER TO PaletteEntry;
  1103.   RenderInfoPtr * = UNTRACED POINTER TO RenderInfo;
  1104.   ScrmodelistEntryPtr * = UNTRACED POINTER TO ScrmodelistEntry;
  1105.   NotifyDataPtr * = UNTRACED POINTER TO NotifyData;
  1106.   MinMaxPtr * = UNTRACED POINTER TO MinMax;
  1107.   AreaDataPtr * = UNTRACED POINTER TO AreaData;
  1108.   GlobalInfoPtr * = UNTRACED POINTER TO GlobalInfo;
  1109.  
  1110.  
  1111.   PaletteEntry * = STRUCT;
  1112.                      id    * : LONGINT;
  1113.                      red   * : LONGINT;
  1114.                      green * : LONGINT;
  1115.                      blue  * : LONGINT;
  1116.                      group * : LONGINT;;
  1117.                    END;
  1118.  
  1119.  
  1120. CONST vPaletteEntryEnd = -1;
  1121.  
  1122. TYPE
  1123.   ScrmodelistEntry * = STRUCT;
  1124.                          name   * : Exec.STRPTR;
  1125.                          modeID * : LONGINT;
  1126.                        END;
  1127.  
  1128. (*************************************************************************
  1129. ** Structures and Macros for creating custom classes.
  1130. *************************************************************************)
  1131.  
  1132.  
  1133. (*
  1134. ** GENERAL NOTES:
  1135. **
  1136. ** - Everything described in this header file is only valid within
  1137. **   MUI classes. You may never use any of these things out of
  1138. **   a class, e.g. in a traditional MUI application.
  1139. **
  1140. ** - Except when otherwise stated, all structures are strictly read only.
  1141. *)
  1142.  
  1143.  
  1144. (* Instance data of notify class *)
  1145.  
  1146. TYPE
  1147.   NotifyData * = STRUCT
  1148.                    globalInfo * : GlobalInfoPtr;
  1149.                    userData   * : LONGINT;
  1150.                    priv0      * : LONGINT;
  1151.                    priv1      * : LONGINT;
  1152.                    priv2      * : LONGINT;
  1153.                    priv3      * : LONGINT;
  1154.                    priv4      * : LONGINT;
  1155.                  END;
  1156.  
  1157.  
  1158. (* MUI_MinMax structure holds information about minimum, maximum
  1159.    and default dimensions of an object. *)
  1160.  
  1161.   MinMax * = STRUCT
  1162.                minWidth  * : INTEGER;
  1163.                minHeight * : INTEGER;
  1164.                maxWidth  * : INTEGER;
  1165.                maxHeight * : INTEGER;
  1166.                defWidth  * : INTEGER;
  1167.                defHeight * : INTEGER;
  1168.              END;
  1169.  
  1170. CONST maxmax  * = 10000; (* use this if a dimension is not limited. *)
  1171.  
  1172.  
  1173. (* (partial) instance data of area class *)
  1174.  
  1175. TYPE
  1176.   AreaData * = STRUCT
  1177.                 renderInfo * : RenderInfoPtr;         (* RenderInfo for this object *)
  1178.                 priv0        : Exec.APTR;             (* !!! private data !!! *)
  1179.                 font       * : Graphics.TextFontPtr;  (* Font *)
  1180.                 minMax     * : MinMax;             (* min/max/default sizes *)
  1181.                 box        * : Intuition.IBox;        (* position and dimension *)
  1182.                 addleft    * : SHORTINT;              (* frame & innerspacing left offset *)
  1183.                 addtop     * : SHORTINT;              (* frame & innerspacing top offset  *)
  1184.                 subwidth   * : SHORTINT;              (* frame & innerspacing add. width  *)
  1185.                 subheight  * : SHORTINT;              (* frame & innerspacing add. height *)
  1186.                 flags      * : LONGSET;               (* see definitions below *)
  1187.                 (* ... private data follows ... *)
  1188.               END;
  1189.  
  1190. (* Definitions for AreaData.flags *)
  1191.  
  1192. CONST
  1193.   adfDrawobject * = 0; (* completely redraw yourself *)
  1194.   adfDrawupdate * = 1; (* only update yourself *)
  1195.  
  1196.  
  1197. (* Global information about parent application. *)
  1198.  
  1199. TYPE
  1200.   GlobalInfo * = STRUCT;
  1201.                    priv0             : Exec.APTR; (* !!! private data !!! *)
  1202.                    applicationObject * : Object;
  1203.  
  1204.                    (* ... private data follows ... *)
  1205.                  END;
  1206.  
  1207. (* MUI's draw pens *)
  1208.  
  1209. CONST
  1210.   penShine      *= 0;
  1211.   penHalfshine  *= 1;
  1212.   penBackground *= 2;
  1213.   penHalfshadow *= 3;
  1214.   penShadow     *= 4;
  1215.   penText       *= 5;
  1216.   penFill       *= 6;
  1217.   penActiveObj  *= 7;
  1218.   penCount      *= 8;
  1219.  
  1220. TYPE
  1221.  
  1222.   PenPtr * = UNTRACED POINTER TO ARRAY penCount OF INTEGER;
  1223.  
  1224. (* Information on display environment *)
  1225.  
  1226.   RenderInfo * = STRUCT;
  1227.                    windowObject  * : Object;              (* valid between MUIM_Setup/MUIM_Cleanup *)
  1228.                    screen        * : Intuition.ScreenPtr; (* valid between MUIM_Setup/MUIM_Cleanup *)
  1229.                    drawInfo      * : Intuition.DrawInfoPtr;  (* valid between MUIM_Setup/MUIM_Cleanup *)
  1230.                    pens          * : PenPtr;              (* valid between MUIM_Setup/MUIM_Cleanup *)
  1231.                    window        * : Intuition.WindowPtr; (* valid between MUIM_Show/MUIM_Hide *)
  1232.                    rastPort      * : Graphics.RastPortPtr;    (* valid between MUIM_Show/MUIM_Hide *)
  1233.                    (* ... private data follows ...*)
  1234.                  END;
  1235.  
  1236.  
  1237. (* the following macros can be used to get pointers to an objects
  1238.    GlobalInfo and RenderInfo structures. *)
  1239.  
  1240.   dummyXFC2 = UNTRACED POINTER TO STRUCT;
  1241.                             mnd : NotifyData;
  1242.                             mad : AreaData;
  1243.                           END;
  1244.  
  1245.   PROCEDURE GetNotifyData*( obj : Object ):NotifyDataPtr;
  1246.     VAR d : dummyXFC2;
  1247.     BEGIN
  1248.       d:= SYSTEM.VAL( dummyXFC2, obj );
  1249.       RETURN SYSTEM.VAL( NotifyDataPtr,SYSTEM.ADR( d.mnd  ) );
  1250.     END GetNotifyData;
  1251.  
  1252.   PROCEDURE GetAreaData*( obj : Object ):AreaDataPtr;
  1253.     VAR d : dummyXFC2;
  1254.     BEGIN
  1255.       d:= SYSTEM.VAL( dummyXFC2, obj );
  1256.       RETURN SYSTEM.VAL( AreaDataPtr,SYSTEM.ADR( d.mad  ) );
  1257.     END GetAreaData;
  1258.  
  1259.   PROCEDURE GetGlobalInfo*( obj : Object ):GlobalInfoPtr;
  1260.     BEGIN
  1261.       RETURN SYSTEM.VAL( dummyXFC2, obj ).mnd.globalInfo;
  1262.     END GetGlobalInfo;
  1263.  
  1264.   PROCEDURE GetRenderInfo*( obj : Object ):RenderInfoPtr;
  1265.     BEGIN
  1266.       RETURN SYSTEM.VAL( dummyXFC2, obj ).mad.renderInfo;
  1267.     END GetRenderInfo;
  1268.  
  1269.  
  1270. (* User configurable keyboard events coming with MUIM_HandleInput *)
  1271.  
  1272. CONST
  1273.   keyRelease     *= -2; (* not a real key, faked when wenn keyPress is released *)
  1274.   keyNone        *= -1;
  1275.   keyPress       *= 0;
  1276.   keyToggle      *= 1;
  1277.   keyUp          *= 2;
  1278.   keyDown        *= 3;
  1279.   keyPageUp      *= 4;
  1280.   keyPageDown    *= 5;
  1281.   keyTop         *= 6;
  1282.   keyBottom      *= 7;
  1283.   keyLeft        *= 8;
  1284.   keyRight       *= 9;
  1285.   keyWordLeft    *= 10;
  1286.   keyWordRight   *= 11;
  1287.   keyLineStart   *= 12;
  1288.   keyLineEnd     *= 13;
  1289.   keyGadgetNext  *= 14;
  1290.   keyGadgetPrev  *= 15;
  1291.   keyGadgetOff   *= 16;
  1292.   keyWindowClose *= 17;
  1293.   keyWindowNext  *= 18;
  1294.   keyWindowPrev  *= 19;
  1295.   keyHelp        *= 20;
  1296.  
  1297. (* Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them *)
  1298.  
  1299.   PROCEDURE app*( obj : Object ):Object;
  1300.     BEGIN RETURN GetGlobalInfo( obj ).applicationObject END app;
  1301.  
  1302.   PROCEDURE win*( obj : Object ):Object;
  1303.     BEGIN RETURN GetRenderInfo( obj ).windowObject END win;
  1304.  
  1305.   PROCEDURE dri*( obj : Object ):Intuition.DrawInfoPtr;
  1306.     BEGIN RETURN GetRenderInfo( obj ).drawInfo END dri;
  1307.  
  1308.   PROCEDURE window*( obj : Object ):Intuition.WindowPtr;
  1309.     BEGIN RETURN GetRenderInfo( obj ).window END window;
  1310.  
  1311.   PROCEDURE screen*( obj : Object ):Intuition.ScreenPtr;
  1312.     BEGIN RETURN GetRenderInfo( obj ).screen END screen;
  1313.  
  1314.   PROCEDURE rp*( obj : Object ):Graphics.RastPortPtr;
  1315.     BEGIN RETURN GetRenderInfo( obj ).rastPort END rp;
  1316.  
  1317.   PROCEDURE left*( obj : Object ):INTEGER;
  1318.     BEGIN RETURN GetAreaData( obj ).box.left END left;
  1319.  
  1320.   PROCEDURE top*( obj : Object ):INTEGER;
  1321.     BEGIN RETURN GetAreaData( obj ).box.top END top;
  1322.  
  1323.   PROCEDURE width*( obj : Object ):INTEGER;
  1324.     BEGIN RETURN GetAreaData( obj ).box.width END width;
  1325.  
  1326.   PROCEDURE height*( obj : Object ):INTEGER;
  1327.     BEGIN RETURN GetAreaData( obj ).box.height END height;
  1328.  
  1329.   PROCEDURE right*( obj : Object ):INTEGER;
  1330.     BEGIN RETURN  left(obj)+width(obj)-1 END right;
  1331.  
  1332.   PROCEDURE bottom*( obj : Object ):INTEGER;
  1333.     BEGIN RETURN top(obj)+height(obj)-1 END bottom;
  1334.  
  1335.   PROCEDURE addleft*( obj : Object ):SHORTINT;
  1336.     BEGIN RETURN GetAreaData(obj).addleft END addleft;
  1337.  
  1338.   PROCEDURE addtop*( obj : Object ):SHORTINT;
  1339.     BEGIN RETURN GetAreaData(obj).addtop END addtop;
  1340.  
  1341.   PROCEDURE subwidth*( obj : Object ):SHORTINT;
  1342.     BEGIN RETURN  GetAreaData(obj).subwidth END subwidth;
  1343.  
  1344.   PROCEDURE subheight*( obj : Object ):SHORTINT;
  1345.     BEGIN RETURN GetAreaData(obj).subheight END subheight;
  1346.  
  1347.   PROCEDURE mleft*( obj : Object ):INTEGER;
  1348.     BEGIN RETURN ( left(obj)+addleft(obj) ) END mleft;
  1349.  
  1350.   PROCEDURE mtop*( obj : Object ):INTEGER;
  1351.     BEGIN RETURN ( top(obj)+addtop(obj) ) END mtop;
  1352.  
  1353.   PROCEDURE mwidth*( obj : Object ):INTEGER;
  1354.     BEGIN RETURN ( width(obj)-subwidth(obj) ) END mwidth;
  1355.  
  1356.   PROCEDURE mheight*( obj : Object ):INTEGER;
  1357.     BEGIN RETURN ( height(obj)-subheight(obj) ) END mheight;
  1358.  
  1359.   PROCEDURE mright*( obj : Object ):INTEGER;
  1360.     BEGIN RETURN ( mleft(obj)+mwidth(obj)-1 ) END mright;
  1361.  
  1362.   PROCEDURE mbottom*( obj : Object ):INTEGER;
  1363.     BEGIN RETURN ( mtop(obj)+mheight(obj)-1 ) END mbottom;
  1364.  
  1365.   PROCEDURE font*( obj : Object ):Graphics.TextFontPtr;
  1366.     BEGIN RETURN GetAreaData(obj).font END font;
  1367.  
  1368.   PROCEDURE flags*( obj : Object ):LONGSET;
  1369.     BEGIN RETURN GetAreaData(obj).flags END flags;
  1370.  
  1371. (* Mui.CustomClass returned by Mui.CreateCustomClass() *)
  1372.  
  1373. TYPE
  1374.   CustomClassPtr *= UNTRACED POINTER TO CustomClass;
  1375.   CustomClass *= STRUCT
  1376.                   userData      *: Exec.APTR;           (* use for whatever you want *)
  1377.                   utilityBase   *: Exec.LibraryPtr;     (* MUI has opened these libraries *)
  1378.                   dosBase       *: Exec.LibraryPtr;     (* for you automatically. You can *)
  1379.                   gfxBase       *: Exec.LibraryPtr;     (* use them or decide to open     *)
  1380.                   intuitionBase *: Exec.LibraryPtr;     (* your libraries yourself.       *)
  1381.                   super         *: Intuition.IClassPtr; (* pointer to super class   *)
  1382.                   class         *: Intuition.IClassPtr; (* pointer to the new class *)
  1383.                   (* ... private data follows ... *)
  1384.                  END;
  1385.  
  1386. (***************************************************************************
  1387. **
  1388. ** For Boopsi Image Implementors Only:
  1389. **
  1390. ** If MUI is using a boopsi image object, it will send a special method
  1391. ** immediately after object creation. This method has a parameter structure
  1392. ** where the boopsi can fill in its minimum and maximum size and learn if
  1393. ** its used in a horizontal or vertical context.
  1394. **
  1395. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  1396. ** value. That's how MUI sees that the method is implemented.
  1397. **
  1398. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  1399. **       implement it, minimum size will be 0 and maximum size unlimited.
  1400. **
  1401. ***************************************************************************)
  1402.  
  1403. CONST mBoopsiQuery *= 80427157H;    (* this is send to the boopsi and *)
  1404.                                     (* must be used as return value   *)
  1405.  
  1406. TYPE pBoopsiQuery  *= STRUCT( msg* : Intuition.Msg ); (* parameter structure *)
  1407.                   screen    * : Intuition.ScreenPtr;  (* read only, display context *)
  1408.                   flags     * : LONGSET;              (* read only, see below *)
  1409.  
  1410.                   minWidth  * : LONGINT;              (* write only, fill in min width  *)
  1411.                   minHeight * : LONGINT;              (* write only, fill in min height *)
  1412.                   maxWidth  * : LONGINT;              (* write only, fill in max width  *)
  1413.                   maxHeight * : LONGINT;              (* write only, fill in max height *)
  1414.                   renderInfo * : RenderInfoPtr;       (* read only, display context *)
  1415.                   (* ... may grow in future ... *)
  1416.                   END;
  1417.  
  1418. CONST bqfHoriz *= 0;             (* object used in a horizontal *)
  1419.                                  (* context (else vertical)     *)
  1420.  
  1421. CONST bqMaxMax *= 10000;         (* use this for unlimited MaxWidth/Height *)
  1422.  
  1423.  
  1424.  
  1425. (***************************************************************************
  1426. ** Method Parameter Structures
  1427. **
  1428. ***************************************************************************)
  1429.  
  1430. TYPE
  1431.  
  1432. (* Notify *)
  1433.  
  1434.   pCallHookPtr * = UNTRACED POINTER TO pCallHook;
  1435.   pCallHook * = STRUCT( msg * : Intuition.Msg );
  1436.                   hook * : Utility.HookPtr;
  1437.                   (* following hookparams *)
  1438.                 END;
  1439.  
  1440.   pMultiSetPtr * = UNTRACED POINTER TO pMultiSet;
  1441.   pMultiSet * = STRUCT( msg * : Intuition.Msg );
  1442.                        attr * : LONGINT;
  1443.                        val  * : LONGINT;
  1444.                        obj  * : Object;
  1445.                        (* ... *)
  1446.                      END;
  1447.  
  1448.   pNotifyPtr * = UNTRACED POINTER TO pNotify;
  1449.   pNotify * = STRUCT( msg * : Intuition.Msg );
  1450.                 trigAttr * : LONGINT;
  1451.                 trigVal  * : LONGINT;
  1452.                 destObj  * : Object;
  1453.                 (* FollowingParams *)
  1454.               END;
  1455.  
  1456.   pSetPtr * = UNTRACED POINTER TO pSet;
  1457.   pSet * = STRUCT( msg * : Intuition.Msg );
  1458.                   attr * : LONGINT;
  1459.                   val  * : LONGINT;
  1460.                 END;
  1461.  
  1462.   pSetAsStringPtr * = UNTRACED POINTER TO pSetAsString;
  1463.   pSetAsString * = STRUCT( msg * : Intuition.Msg );
  1464.                      attr   * : LONGINT;
  1465.                      format * : Exec.STRPTR;
  1466.                      val    * : LONGINT;
  1467.                      (* ... *)
  1468.                    END;
  1469.  
  1470.   pWriteLongPtr * = UNTRACED POINTER TO pWriteLong;
  1471.   pWriteLong * = STRUCT( msg * : Intuition.Msg );
  1472.                    val     * : LONGINT;
  1473.                    memory  * : UNTRACED POINTER TO LONGINT;
  1474.                  END;
  1475.  
  1476.   pWriteStringPtr * = UNTRACED POINTER TO pWriteString;
  1477.   pWriteString * = STRUCT( msg * : Intuition.Msg );
  1478.                      str     * : Exec.STRPTR;
  1479.                      memory  * : Exec.STRPTR;
  1480.                    END;
  1481.  
  1482. (* Application *)
  1483.  
  1484.   pApplicationGetMenuCheckPtr * = UNTRACED POINTER TO pApplicationGetMenuCheck;
  1485.   pApplicationGetMenuCheck * = STRUCT( msg * : Intuition.Msg );
  1486.                       menuID * : LONGINT;
  1487.                     END;
  1488.  
  1489.   pApplicationGetMenuStatePtr * = UNTRACED POINTER TO pApplicationGetMenuState;
  1490.   pApplicationGetMenuState * = STRUCT( msg * : Intuition.Msg );
  1491.                       menuID * : LONGINT;
  1492.                     END;
  1493.  
  1494.   pApplicationInputPtr * = UNTRACED POINTER TO pApplicationInput;
  1495.   pApplicationInput * = STRUCT( msg * : Intuition.Msg );
  1496.                           signal * : UNTRACED POINTER TO LONGSET;
  1497.                         END;
  1498.  
  1499.   pApplicationLoadPtr * = UNTRACED POINTER TO pApplicationLoad;
  1500.   pApplicationLoad * = STRUCT( msg * : Intuition.Msg );
  1501.                          name * : Exec.STRPTR;
  1502.                        END;
  1503.  
  1504.   pApplicationPushMethodPtr * = UNTRACED POINTER TO pApplicationPushMethod;
  1505.   pApplicationPushMethod * = STRUCT( msg * : Intuition.Msg );
  1506.                                dest * : Object;
  1507.                                (* following Method *)
  1508.                              END;
  1509.  
  1510.   pApplicationReturnIDPtr * = UNTRACED POINTER TO pApplicationReturnID;
  1511.   pApplicationReturnID * = STRUCT( msg * : Intuition.Msg );
  1512.                              retid * : LONGINT;
  1513.                            END;
  1514.  
  1515.   pApplicationSavePtr * = UNTRACED POINTER TO pApplicationSave;
  1516.   pApplicationSave * = STRUCT( msg * : Intuition.Msg );
  1517.                          name * : Exec.STRPTR;
  1518.                        END;
  1519.  
  1520.  
  1521.   pApplicationSetMenuCheckPtr * = UNTRACED POINTER TO pApplicationSetMenuCheck;
  1522.   pApplicationSetMenuCheck * = STRUCT( msg * : Intuition.Msg );
  1523.                       menuID * : LONGINT;
  1524.                       set    * : LONGINT;
  1525.                     END;
  1526.  
  1527.   pApplicationSetMenuStatePtr * = UNTRACED POINTER TO pApplicationSetMenuState;
  1528.   pApplicationSetMenuState * = STRUCT( msg * : Intuition.Msg );
  1529.                       menuID * : LONGINT;
  1530.                       set    * : LONGINT;
  1531.                     END;
  1532.  
  1533.   pApplicationShowHelpPtr * = UNTRACED POINTER TO pApplicationShowHelp;
  1534.   pApplicationShowHelp * = STRUCT( msg * : Intuition.Msg );
  1535.                              window * : Object;
  1536.                              name   * : Exec.STRPTR;
  1537.                              node   * : Exec.STRPTR;
  1538.                              line   * : LONGINT;
  1539.                            END;
  1540.  
  1541. (* Window *)
  1542.  
  1543.   pWindowGetMenuCheckPtr * = UNTRACED POINTER TO pWindowGetMenuCheck;
  1544.   pWindowGetMenuCheck * = STRUCT( msg * : Intuition.Msg );
  1545.                             menuID * : LONGINT;
  1546.                           END;
  1547.  
  1548.   pWindowGetMenuStatePtr * = UNTRACED POINTER TO pWindowGetMenuState;
  1549.   pWindowGetMenuState * = STRUCT( msg * : Intuition.Msg );
  1550.                             menuID * : LONGINT;
  1551.                           END;
  1552.  
  1553.   pWindowSetCycleChainPtr * = UNTRACED POINTER TO pWindowSetCycleChain;
  1554.   pWindowSetCycleChain * = STRUCT( msg * : Intuition.Msg );
  1555.                              (* following objects *)
  1556.                            END;
  1557.  
  1558.   pWindowSetMenuCheckPtr * = UNTRACED POINTER TO pWindowSetMenuCheck;
  1559.   pWindowSetMenuCheck * = STRUCT( msg * : Intuition.Msg );
  1560.                             menuID * : LONGINT;
  1561.                             set    * : LONGINT;
  1562.                           END;
  1563.  
  1564.   pWindowSetMenuStatePtr * = UNTRACED POINTER TO pWindowSetMenuState;
  1565.   pWindowSetMenuState * = STRUCT( msg * : Intuition.Msg );
  1566.                             menuID * : LONGINT;
  1567.                             set    * : LONGINT;
  1568.                           END;
  1569.  
  1570. (* Area *)
  1571.  
  1572.   pAskMinMaxPtr * = UNTRACED POINTER TO pAskMinMax;
  1573.   pAskMinMax * = STRUCT( msg * : Intuition.Msg );
  1574.                    minMax * : MinMaxPtr;
  1575.                  END;
  1576.  
  1577.   pDrawPtr * = UNTRACED POINTER TO pDraw;
  1578.   pDraw * = STRUCT( msg * : Intuition.Msg );
  1579.               flags * : LONGSET
  1580.             END;
  1581.  
  1582.   pHandleInputPtr * = UNTRACED POINTER TO pHandleInput;
  1583.   pHandleInput * = STRUCT( msg * : Intuition.Msg );
  1584.                      imsg   * : Intuition.IntuiMessagePtr;
  1585.                      muikey * : LONGINT;
  1586.                    END;
  1587.  
  1588.   pSetUpPtr * = UNTRACED POINTER TO pSetUp;
  1589.   pSetUp * = STRUCT( msg * : Intuition.Msg );
  1590.                renderInfo * : RenderInfoPtr;
  1591.              END;
  1592.  
  1593. (* List *)
  1594.  
  1595.   pListExchangePtr * = UNTRACED POINTER TO pListExchange;
  1596.   pListExchange * = STRUCT( msg * : Intuition.Msg );
  1597.                       pos1 * : LONGINT;
  1598.                       pos2 * : LONGINT;
  1599.                     END;
  1600.  
  1601.   pListGetEntryPtr * = UNTRACED POINTER TO pListGetEntry;
  1602.   pListGetEntry * = STRUCT( msg * : Intuition.Msg );
  1603.                       pos * : LONGINT;
  1604.                       entry * : Exec.APTR
  1605.                     END;
  1606.  
  1607.   pListInsertPtr * = UNTRACED POINTER TO pListInsert;
  1608.   pListInsert * = STRUCT( msg * : Intuition.Msg );
  1609.                     entries * : Exec.APTR;
  1610.                     count   * : LONGINT;
  1611.                     pos     * : LONGINT;
  1612.                   END;
  1613.  
  1614.   pListInsertSinglePtr * = UNTRACED POINTER TO pListInsertSingle;
  1615.   pListInsertSingle * = STRUCT( msg * : Intuition.Msg );
  1616.                           entry * : Exec.APTR;
  1617.                           pos   * : LONGINT;
  1618.                         END;
  1619.  
  1620.   pListJumpPtr * = UNTRACED POINTER TO pListJump;
  1621.   pListJump * = STRUCT( msg * : Intuition.Msg );
  1622.                     pos * : LONGINT;
  1623.                   END;
  1624.  
  1625.   pListNextSelectedPtr * = UNTRACED POINTER TO pListNextSelected;
  1626.   pListNextSelected * = STRUCT( msg * : Intuition.Msg );
  1627.                           pos * : UNTRACED POINTER TO LONGINT;
  1628.                         END;
  1629.  
  1630.   pListRedrawPtr * = UNTRACED POINTER TO pListRedraw;
  1631.   pListRedraw * = STRUCT( msg * : Intuition.Msg );
  1632.                     pos * : LONGINT;
  1633.                   END;
  1634.  
  1635.   pListRemovePtr * = UNTRACED POINTER TO pListRemove;
  1636.   pListRemove * = STRUCT( msg * : Intuition.Msg );
  1637.                     pos * : LONGINT;
  1638.                   END;
  1639.  
  1640.   pListSelectPtr * = UNTRACED POINTER TO pListSelect;
  1641.   pListSelect * = STRUCT( msg * : Intuition.Msg );
  1642.                     pos     * : LONGINT;
  1643.                     selType * : LONGINT;
  1644.                     state   * : UNTRACED POINTER TO LONGINT;
  1645.                   END;
  1646.  
  1647. (* Popstring *)
  1648.  
  1649.   pPopstringClosePtr * = UNTRACED POINTER TO pPopstringClose;
  1650.   pPopstringClose *= STRUCT( msg * : Intuition.Msg );
  1651.                        result : LONGINT;
  1652.                      END;
  1653.  
  1654. (***************************************************************************
  1655. ** Functions in muimaster.library
  1656. ***************************************************************************)
  1657.  
  1658. VAR
  1659.   base * : Exec.LibraryPtr;
  1660.  
  1661. PROCEDURE NewObjectA           * {base,-30}( class{8}      : ARRAY OF CHAR;
  1662.                                              tags{9}       : ARRAY OF Utility.TagItem): Object;
  1663.  
  1664. PROCEDURE NewObject            * {base,-30}( class{8}      : ARRAY OF CHAR;
  1665.                                              tags{9}..     : Utility.Tag): Object;
  1666.  
  1667. PROCEDURE DisposeObject        * {base,-36}( obj{8}        : Object);
  1668.  
  1669.  
  1670. PROCEDURE RequestA             * {base,-42}( app{0}        : Object;
  1671.                                              win{1}        : Object;
  1672.                                              flags{2}      : LONGINT;
  1673.                                              title{8}      : ARRAY OF CHAR;
  1674.                                              gadgets{9}    : ARRAY OF CHAR;
  1675.                                              format{10}    : ARRAY OF CHAR;
  1676.                                              params{11}    : ARRAY OF Utility.TagItem) : LONGINT;
  1677.  
  1678. PROCEDURE Request              * {base,-42}( app{0}        : Object;
  1679.                                              win{1}        : Object;
  1680.                                              flags{2}      : LONGINT;
  1681.                                              title{8}      : ARRAY OF CHAR;
  1682.                                              gadgets{9}    : ARRAY OF CHAR;
  1683.                                              format{10}    : ARRAY OF CHAR;
  1684.                                              params{11}..  : Utility.Tag) : LONGINT;
  1685.  
  1686. PROCEDURE AllocAslRequest      * {base,-48}( typ{0}  : LONGINT;
  1687.                                              tags{8} : ARRAY OF Utility.TagItem) : ASL.ASLRequesterPtr;
  1688.  
  1689. PROCEDURE AllocAslRequestTags  * {base,-48}( typ{0}    : LONGINT;
  1690.                                              tags{8}.. : Utility.Tag) : ASL.ASLRequesterPtr;
  1691.  
  1692. PROCEDURE AslRequest           * {base,-54}( req{8}  : ASL.ASLRequesterPtr;
  1693.                                              tags{9} : ARRAY OF Utility.TagItem) : BOOLEAN;
  1694.  
  1695. PROCEDURE AslRequestTags       * {base,-54}( req{8}    : ASL.ASLRequesterPtr;
  1696.                                              tags{9}.. : Utility.Tag) : BOOLEAN;
  1697.  
  1698. PROCEDURE FreeAslRequest       * {base,-60}( req{8}  : ASL.ASLRequesterPtr );
  1699.  
  1700. PROCEDURE Error                * {base,-66}() : LONGINT;
  1701.  
  1702. (* functions to be used with custom classes *)
  1703.  
  1704. PROCEDURE SetError             * {base,-72}( num{0} : LONGINT ):LONGINT;
  1705.  
  1706. PROCEDURE GetClass             * {base,-78}( classname{8} : ARRAY OF CHAR ):Intuition.IClassPtr;
  1707.  
  1708. PROCEDURE FreeClass            * {base,-84}( classptr{8}: Intuition.IClassPtr );
  1709.  
  1710. PROCEDURE RequestIDCMP         * {base,-90}( obj{8}:Object; flags{0}:LONGSET );
  1711.  
  1712. PROCEDURE RejectIDCMP          * {base,-96}( obj{8}:Object; flags{0}:LONGSET );
  1713.  
  1714. PROCEDURE Redraw               * {base,-102}( obj{8}:Object; flags{0}:LONGSET );
  1715.  
  1716. PROCEDURE CreateCustomClass    * {base,-108}( base{8}     : Exec.LibraryPtr;
  1717.                                               supername{9}: ARRAY OF CHAR;
  1718.                                               supermcc{10}: CustomClassPtr;
  1719.                                               datasize{0} : LONGINT;
  1720.                                               dispfunc{11}: dispatcher ):CustomClassPtr;
  1721.  
  1722. PROCEDURE DeleteCustomClass    * {base,-114}( mcc{8} : CustomClassPtr ):BOOLEAN;
  1723.  
  1724.  
  1725. PROCEDURE MakeObject           * {base,-120}(objtype{0}  : LONGINT;
  1726.                                              params{8}.. : LONGINT ):Object;
  1727.  
  1728. PROCEDURE DoMethodA * ( obj{10}, msg{9}: Intuition.Msg ): LONGINT;
  1729.  
  1730. BEGIN  (* $EntryExitCode- *)
  1731.   SYSTEM.INLINE(  0206AH, 0FFFCH,    (*  movea.l -4(a2),a0    *)
  1732.                   02F28H, 00008H,    (*  move.l  8(a0),-(a7)  *)
  1733.                   04E75H);           (*  rts                  *)
  1734. END DoMethodA;
  1735.  
  1736. PROCEDURE DoMethod * {"Mui.DoMethodA"} ( obj{10}: Object; msg{9}..: Exec.APTR );
  1737. PROCEDURE DOMethod * {"Mui.DoMethodA"} ( obj{10}: Object; msg{9}..: Exec.APTR ) : LONGINT;
  1738.  
  1739. BEGIN
  1740.   base := Exec.OpenLibrary( name, minVersion);
  1741.   IF base=NIL THEN
  1742.     IF Intuition.DisplayAlert(0,"\x00\x64\x14missing muimaster.library V7\o\o",50) THEN END;
  1743.     HALT(0)
  1744.   END;
  1745. CLOSE
  1746.   IF base#NIL THEN Exec.CloseLibrary(base) END;
  1747. END Mui.
  1748.