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 >
Wrap
Text File
|
1994-07-02
|
74KB
|
1,748 lines
MODULE Mui;
IMPORT Exec, Utility, Intuition, SYSTEM, ASL, Graphics;
CONST
name* = "muimaster.library";
minVersion* = 7;
TYPE
Object * = Intuition.ObjectPtr;
TYPE
dispatcher *= PROCEDURE ( class{8} : Intuition.IClass; obj{10} : Object; message{9} : Intuition.Msg );
(***************************************************************************
** ARexx Interface
***************************************************************************)
TYPE
Command * = STRUCT
name * : Exec.STRPTR;
template * : Exec.STRPTR;
parameters * : LONGINT;
hook * : Utility.HookPtr;
reserved * : ARRAY 5 OF LONGINT;
END;
CONST
templateID = SYSTEM.VAL(Exec.STRPTR,-1);
rxerrBADDEFINITI0N *= -1;
rxerr0UT0FMEM0RY *= -2;
rxerrUNKN0WNC0MMAND *= -3;
rxerrBADSYNTAX *= -4;
(***************************************************************************
** Return values for MUI_Error()
***************************************************************************)
CONST
eOK * = 0;
eOutOfMemory * = 1;
eOutOfGfxMemory * = 2;
eInvalidWindowObject * = 3;
eMissingLibrary * = 4;
eNoARexx * = 5;
eSingleTask * = 6;
(***************************************************************************
** Standard MUI Images
***************************************************************************)
CONST
iWindowBack * = 0;
iRequesterBack * = 1;
iButtonBack * = 2;
iListBack * = 3;
iTextBack * = 4;
iPropBack * = 5;
iPopupBack * = 6;
iSelectedBack * = 7;
iListCursor * = 8;
iListSelect * = 9;
iListSelCur * = 10;
iArrowUp * = 11;
iArrowDown * = 12;
iArrowLeft * = 13;
iArrowRight * = 14;
iCheckMark * = 15;
iRadioButton * = 16;
iCycle * = 17;
iPopUp * = 18;
iPopFile * = 19;
iPopDrawer * = 20;
iPropKnob * = 21;
iDrawer * = 22;
iHardDisk * = 23;
iDisk * = 24;
iChip * = 25;
iVolume * = 26;
iPopUpBack * = 27;
iNetwork * = 28;
iAssign * = 29;
iTapePlay * = 30;
iTapePlayBack * = 31;
iTapePause * = 32;
iTapeStop * = 33;
iTapeRecord * = 34;
iGroupBack * = 35;
iSliderBack * = 36;
iSliderKnob * = 37;
iTapeUp * = 38;
iTapeDown * = 39;
iCount * = 40;
iBACKGROUND * = 128 (* These are direct color *);
iSHADOW * = 129 (* combinations and are not *);
iSHINE * = 130 (* affected by users prefs. *);
iFILL * = 131;
iSHADOWBACK * = 132 (* Generally, you should *);
iSHADOWFILL * = 133 (* avoid using them. Better *);
iSHADOWSHINE * = 134 (* use one of the customized *);
iFILLBACK * = 135 (* images above. *);
iFILLSHINE * = 136;
iSHINEBACK * = 137;
iFILLBACK2 * = 138;
iHSHINEBACK * = 139;
iHSHADOWBACK * = 140;
iHSHINESHINE * = 141;
iHSHADOWSHADOW * = 142;
iN1HSHINE * = 143;
iLASTPAT * = 143;
(***************************************************************************
** 0bject Types for MUI_Make0bject()
***************************************************************************)
CONST
oLabel *= 1; (* STRPTR label, UL0NG flags *)
oButton *= 2; (* STRPTR label *)
oCheckmark *= 3; (* STRPTR label *)
oCycle *= 4; (* STRPTR label, STRPTR *entries *)
oRadio *= 5; (* STRPTR label, STRPTR *entries *)
oSlider *= 6; (* STRPTR label, L0NG min, L0NG max *)
oString *= 7; (* STRPTR label, L0NG maxlen *)
oPopButton *= 8; (* STRPTR imagespec *)
oHSpace *= 9; (* L0NG space *)
oVSpace *=10; (* L0NG space *)
oHBar *=11; (* L0NG space *)
oVBar *=12; (* L0NG space *)
oMenustripNM *=13; (* struct NewMenu *nm, UL0NG flags *)
oMenuitem *=14; (* STRPTR label, STRPTR shortcut, UL0NG flags, UL0NG data *)
oBarTitle *=15; (* STRPTR label *)
CONST
oLabelSingleFrame *= 0100H;
oLabelDoubleFrame *= 0200H;
oLabelLeftAligned *= 0400H;
(***************************************************************************
** Special values for some methods
***************************************************************************)
CONST
vTriggerValue *= 49893131H;
vNotTriggerValue *= 49893133H;
vEveryTime *= 49893131H;
vApplicationSaveENV * = 0;
vApplicationSaveENVARC * = -1;
vApplicationLoadENV * = 0;
vApplicationLoadENVARC * = -1;
vApplicationReturnIDQuit * = -1;
vListInsertTop * = 0;
vListInsertActive * = -1;
vListInsertSorted * = -2;
vListInsertBottom * = -3;
vListRemoveFirst * = 0;
vListRemoveActive * = -1;
vListRemoveLast * = -2;
vListSelectOff * = 0;
vListSelectOn * = 1;
vListSelectToggle * = 2;
vListSelectAsk * = 3;
vListJumpActive * = -1;
vListGetEntryActive * = -1;
vListSelectActive * = -1;
vListSelectAll * = -2;
vListRedrawActive * = -1;
vListRedrawAll * = -2;
vListExchangeActive * = -1;
vColorpanelGetColorActive *= -1;
vColorpanelSetColorActive *= -1;
(***************************************************************************
** Control codes for text strings
***************************************************************************)
CONST
xR *= "\033r"; (* right justified *)
xC *= "\033c"; (* centered *)
xL *= "\033l"; (* left justified *)
xN *= "\033n"; (* normal *)
xB *= "\033b"; (* bold *)
xI *= "\033i"; (* italic *)
xU *= "\033u"; (* underlined *)
xPT *= "\0332"; (* text pen *)
xPH *= "\0338"; (* highlight text pen *)
(****************************************************************************)
(** Notify **)
(****************************************************************************)
CONST cNotify * = "Notify.mui";
(* Methods *)
CONST mCallHook * = 8042B96BH; (* V4 *)
CONST mFindUData * = 8042C196H; (* V8 *)
CONST mGetUData * = 8042ED0CH; (* V8 *)
CONST mKillNotify * = 8042D240H; (* V4 *)
CONST mMultiSet * = 8042D356H; (* V7 *)
CONST mNotify * = 8042C9CBH; (* V4 *)
CONST mSet * = 8042549AH; (* V4 *)
CONST mSetAsString * = 80422590H; (* V4 *)
CONST mSetUData * = 8042C920H; (* V8 *)
CONST mWriteLong * = 80428D86H; (* V6 *)
CONST mWriteString * = 80424BF4H; (* V6 *)
(* Attributes *)
CONST aAppMessage * = 80421955H; (* V5 ..g struct AppMessage * *)
CONST aHelpFile * = 80423A6EH; (* V4 isg STRPTR *)
CONST aHelpLine * = 8042A825H; (* V4 isg LONG *)
CONST aHelpNode * = 80420B85H; (* V4 isg STRPTR *)
CONST aNoNotify * = 804237F9H; (* V7 .s. BOOL *)
CONST aRevision * = 80427EAAH; (* V4 ..g LONG *)
CONST aUserData * = 80420313H; (* V4 isg ULONG *)
CONST aVersion * = 80422301H; (* V4 ..g LONG *)
(****************************************************************************)
(** Family **)
(****************************************************************************)
CONST cFamily * = "Family.mui";
(* Methods *)
CONST mFamilyAddHead * = 8042E200H; (* V8 *)
CONST mFamilyAddTail * = 8042D752H; (* V8 *)
CONST mFamilyInsert * = 80424D34H; (* V8 *)
CONST mFamilyRemove * = 8042F8A9H; (* V8 *)
CONST mFamilySort * = 80421C49H; (* V8 *)
CONST mFamilyTransfer * = 8042C14AH; (* V8 *)
(* Attributes *)
CONST aFamilyChild * = 8042C696H; (* V8 i.. Object * *)
(****************************************************************************)
(** Menustrip **)
(****************************************************************************)
CONST cMenustrip * = "Menustrip.mui";
(* Methods *)
(* Attributes *)
CONST aMenustripEnabled * = 8042815BH; (* V8 isg BOOL *)
(****************************************************************************)
(** Menu **)
(****************************************************************************)
CONST cMenu * = "Menu.mui";
(* Methods *)
(* Attributes *)
CONST aMenuEnabled * = 8042ED48H; (* V8 isg BOOL *)
CONST aMenuTitle * = 8042A0E3H; (* V8 isg STRPTR *)
(****************************************************************************)
(** Menuitem **)
(****************************************************************************)
CONST cMenuitem * = "Menuitem.mui";
(* Methods *)
(* Attributes *)
CONST aMenuitemChecked * = 8042562AH; (* V8 isg BOOL *)
CONST aMenuitemCheckit * = 80425ACEH; (* V8 isg BOOL *)
CONST aMenuitemEnabled * = 8042AE0FH; (* V8 isg BOOL *)
CONST aMenuitemExclude * = 80420BC6H; (* V8 isg LONG *)
CONST aMenuitemShortcut * = 80422030H; (* V8 isg char *)
CONST aMenuitemTitle * = 804218BEH; (* V8 isg STRPTR *)
CONST aMenuitemToggle * = 80424D5CH; (* V8 isg BOOL *)
CONST aMenuitemTrigger * = 80426F32H; (* V8 ..g struct MenuItem * *)
(****************************************************************************)
(** Application **)
(****************************************************************************)
CONST cApplication * = "Application.mui";
(* Methods *)
CONST mApplicationGetMenuCheck * = 8042C0A7H; (* V4 *)
CONST mApplicationGetMenuState * = 8042A58FH; (* V4 *)
CONST mApplicationInput * = 8042D0F5H; (* V4 *)
CONST mApplicationInputBuffered * = 80427E59H; (* V4 *)
CONST mApplicationLoad * = 8042F90DH; (* V4 *)
CONST mApplicationPushMethod * = 80429EF8H; (* V4 *)
CONST mApplicationReturnID * = 804276EFH; (* V4 *)
CONST mApplicationSave * = 804227EFH; (* V4 *)
CONST mApplicationSetMenuCheck * = 8042A707H; (* V4 *)
CONST mApplicationSetMenuState * = 80428BEFH; (* V4 *)
CONST mApplicationShowHelp * = 80426479H; (* V4 *)
(* Attributes *)
CONST aApplicationActive * = 804260ABH; (* V4 isg BOOL *)
CONST aApplicationAuthor * = 80424842H; (* V4 i.g STRPTR *)
CONST aApplicationBase * = 8042E07AH; (* V4 i.g STRPTR *)
CONST aApplicationBroker * = 8042DBCEH; (* V4 ..g Broker * *)
CONST aApplicationBrokerHook * = 80428F4BH; (* V4 isg struct Hook * *)
CONST aApplicationBrokerPort * = 8042E0ADH; (* V6 ..g struct MsgPort * *)
CONST aApplicationBrokerPri * = 8042C8D0H; (* V6 i.g LONG *)
CONST aApplicationCommands * = 80428648H; (* V4 isg struct MUI_Command * *)
CONST aApplicationCopyright * = 8042EF4DH; (* V4 i.g STRPTR *)
CONST aApplicationDescription * = 80421FC6H; (* V4 i.g STRPTR *)
CONST aApplicationDiskObject * = 804235CBH; (* V4 isg struct DiskObject * *)
CONST aApplicationDoubleStart * = 80423BC6H; (* V4 ..g BOOL *)
CONST aApplicationDropObject * = 80421266H; (* V5 is. Object * *)
CONST aApplicationForceQuit * = 804257DFH; (* V8 ..g BOOL *)
CONST aApplicationHelpFile * = 804293F4H; (* V8 isg STRPTR *)
CONST aApplicationIconified * = 8042A07FH; (* V4 .sg BOOL *)
CONST aApplicationMenu * = 80420E1FH; (* V4 i.g struct NewMenu * *)
CONST aApplicationMenuAction * = 80428961H; (* V4 ..g ULONG *)
CONST aApplicationMenuHelp * = 8042540BH; (* V4 ..g ULONG *)
CONST aApplicationMenustrip * = 804252D9H; (* V8 i.. Object * *)
CONST aApplicationRexxHook * = 80427C42H; (* V7 isg struct Hook * *)
CONST aApplicationRexxMsg * = 8042FD88H; (* V4 ..g struct RxMsg * *)
CONST aApplicationRexxString * = 8042D711H; (* V4 .s. STRPTR *)
CONST aApplicationSingleTask * = 8042A2C8H; (* V4 i.. BOOL *)
CONST aApplicationSleep * = 80425711H; (* V4 .s. BOOL *)
CONST aApplicationTitle * = 804281B8H; (* V4 i.g STRPTR *)
CONST aApplicationVersion * = 8042B33FH; (* V4 i.g STRPTR *)
CONST aApplicationWindow * = 8042BFE0H; (* V4 i.. Object * *)
(****************************************************************************)
(** Window **)
(****************************************************************************)
CONST cWindow * = "Window.mui";
(* Methods *)
CONST mWindowGetMenuCheck * = 80420414H; (* V4 *)
CONST mWindowGetMenuState * = 80420D2FH; (* V4 *)
CONST mWindowScreenToBack * = 8042913DH; (* V4 *)
CONST mWindowScreenToFront * = 804227A4H; (* V4 *)
CONST mWindowSetCycleChain * = 80426510H; (* V4 *)
CONST mWindowSetMenuCheck * = 80422243H; (* V4 *)
CONST mWindowSetMenuState * = 80422B5EH; (* V4 *)
CONST mWindowToBack * = 8042152EH; (* V4 *)
CONST mWindowToFront * = 8042554FH; (* V4 *)
(* Attributes *)
CONST aWindowActivate * = 80428D2FH; (* V4 isg BOOL *)
CONST aWindowActiveObject * = 80427925H; (* V4 .sg Object * *)
CONST aWindowAltHeight * = 8042CCE3H; (* V4 i.g LONG *)
CONST aWindowAltLeftEdge * = 80422D65H; (* V4 i.g LONG *)
CONST aWindowAltTopEdge * = 8042E99BH; (* V4 i.g LONG *)
CONST aWindowAltWidth * = 804260F4H; (* V4 i.g LONG *)
CONST aWindowAppWindow * = 804280CFH; (* V5 i.. BOOL *)
CONST aWindowBackdrop * = 8042C0BBH; (* V4 i.. BOOL *)
CONST aWindowBorderless * = 80429B79H; (* V4 i.. BOOL *)
CONST aWindowCloseGadget * = 8042A110H; (* V4 i.. BOOL *)
CONST aWindowCloseRequest * = 8042E86EH; (* V4 ..g BOOL *)
CONST aWindowDefaultObject * = 804294D7H; (* V4 isg Object * *)
CONST aWindowDepthGadget * = 80421923H; (* V4 i.. BOOL *)
CONST aWindowDragBar * = 8042045DH; (* V4 i.. BOOL *)
CONST aWindowHeight * = 80425846H; (* V4 i.g LONG *)
CONST aWindowID * = 804201BDH; (* V4 isg ULONG *)
CONST aWindowInputEvent * = 804247D8H; (* V4 ..g struct InputEvent * *)
CONST aWindowLeftEdge * = 80426C65H; (* V4 i.g LONG *)
CONST aWindowMenu * = 8042DB94H; (* V4 i.. struct NewMenu * *)
CONST aWindowMenuAction * = 80427521H; (* V8 isg ULONG *)
CONST aWindowMenustrip * = 8042855EH; (* V8 i.. Object * *)
CONST aWindowNoMenus * = 80429DF5H; (* V4 is. BOOL *)
CONST aWindowOpen * = 80428AA0H; (* V4 .sg BOOL *)
CONST aWindowPublicScreen * = 804278E4H; (* V6 isg STRPTR *)
CONST aWindowRefWindow * = 804201F4H; (* V4 is. Object * *)
CONST aWindowRootObject * = 8042CBA5H; (* V4 i.. Object * *)
CONST aWindowScreen * = 8042DF4FH; (* V4 isg struct Screen * *)
CONST aWindowScreenTitle * = 804234B0H; (* V5 isg STRPTR *)
CONST aWindowSizeGadget * = 8042E33DH; (* V4 i.. BOOL *)
CONST aWindowSizeRight * = 80424780H; (* V4 i.. BOOL *)
CONST aWindowSleep * = 8042E7DBH; (* V4 .sg BOOL *)
CONST aWindowTitle * = 8042AD3DH; (* V4 isg STRPTR *)
CONST aWindowTopEdge * = 80427C66H; (* V4 i.g LONG *)
CONST aWindowWidth * = 8042DCAEH; (* V4 i.g LONG *)
CONST aWindowWindow * = 80426A42H; (* V4 ..g struct Window * *)
CONST vWindowActiveObjectNone * = 0;
CONST vWindowActiveObjectNext * = -1;
CONST vWindowActiveObjectPrev * = -2;
PROCEDURE vWindowAltHeightMinMax * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowAltHeightMinMax;
PROCEDURE vWindowAltHeightVisible * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowAltHeightVisible;
PROCEDURE vWindowAltHeightScreen * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowAltHeightScreen;
CONST vWindowAltHeightScaled * = -1000;
CONST vWindowAltLeftEdgeCentered * = -1;
CONST vWindowAltLeftEdgeMoused * = -2;
CONST vWindowAltLeftEdgeNoChange * = -1000;
CONST vWindowAltTopEdgeCentered * = -1;
CONST vWindowAltTopEdgeMoused * = -2;
PROCEDURE vWindowAltTopEdgeDelta * (p:LONGINT): LONGINT; BEGIN RETURN (-3-(p)) END vWindowAltTopEdgeDelta;
CONST vWindowAltTopEdgeNoChange * = -1000;
PROCEDURE vWindowAltWidthMinMax * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowAltWidthMinMax;
PROCEDURE vWindowAltWidthVisible * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowAltWidthVisible;
PROCEDURE vWindowAltWidthScreen * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowAltWidthScreen;
CONST vWindowAltWidthScaled * = -1000;
PROCEDURE vWindowHeightMinMax * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowHeightMinMax;
PROCEDURE vWindowHeightVisible * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowHeightVisible;
PROCEDURE vWindowHeightScreen * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowHeightScreen;
CONST vWindowHeightScaled * = -1000;
CONST vWindowHeightDefault * = -1001;
CONST vWindowLeftEdgeCentered * = -1;
CONST vWindowLeftEdgeMoused * = -2;
CONST vWindowMenuNoMenu * = -1;
CONST vWindowTopEdgeCentered * = -1;
CONST vWindowTopEdgeMoused * = -2;
PROCEDURE vWindowTopEdgeDelta * (p:LONGINT): LONGINT; BEGIN RETURN (-3-(p)) END vWindowTopEdgeDelta;
PROCEDURE vWindowWidthMinMax * (p:LONGINT): LONGINT; BEGIN RETURN (0-(p)) END vWindowWidthMinMax;
PROCEDURE vWindowWidthVisible * (p:LONGINT): LONGINT; BEGIN RETURN (-100-(p)) END vWindowWidthVisible;
PROCEDURE vWindowWidthScreen * (p:LONGINT): LONGINT; BEGIN RETURN (-200-(p)) END vWindowWidthScreen;
CONST vWindowWidthScaled * = -1000;
CONST vWindowWidthDefault * = -1001;
(****************************************************************************)
(** Area **)
(****************************************************************************)
CONST cArea * = "Area.mui";
(* Methods *)
CONST mAskMinMax * = 80423874H; (* V4 *)
CONST mCleanup * = 8042D985H; (* V4 *)
CONST mDraw * = 80426F3FH; (* V4 *)
CONST mHandleInput * = 80422A1AH; (* V4 *)
CONST mHide * = 8042F20FH; (* V4 *)
CONST mSetup * = 80428354H; (* V4 *)
CONST mShow * = 8042CC84H; (* V4 *)
(* Attributes *)
CONST aApplicationObject * = 8042D3EEH; (* V4 ..g Object * *)
CONST aBackground * = 8042545BH; (* V4 is. LONG *)
CONST aBottomEdge * = 8042E552H; (* V4 ..g LONG *)
CONST aControlChar * = 8042120BH; (* V4 i.. char *)
CONST aDisabled * = 80423661H; (* V4 isg BOOL *)
CONST aExportID * = 8042D76EH; (* V4 isg LONG *)
CONST aFixHeight * = 8042A92BH; (* V4 i.. LONG *)
CONST aFixHeightTxt * = 804276F2H; (* V4 i.. LONG *)
CONST aFixWidth * = 8042A3F1H; (* V4 i.. LONG *)
CONST aFixWidthTxt * = 8042D044H; (* V4 i.. STRPTR *)
CONST aFont * = 8042BE50H; (* V4 i.g struct TextFont * *)
CONST aFrame * = 8042AC64H; (* V4 i.. LONG *)
CONST aFramePhantomHoriz * = 8042ED76H; (* V4 i.. BOOL *)
CONST aFrameTitle * = 8042D1C7H; (* V4 i.. STRPTR *)
CONST aHeight * = 80423237H; (* V4 ..g LONG *)
CONST aHorizWeight * = 80426DB9H; (* V4 i.. LONG *)
CONST aInnerBottom * = 8042F2C0H; (* V4 i.. LONG *)
CONST aInnerLeft * = 804228F8H; (* V4 i.. LONG *)
CONST aInnerRight * = 804297FFH; (* V4 i.. LONG *)
CONST aInnerTop * = 80421EB6H; (* V4 i.. LONG *)
CONST aInputMode * = 8042FB04H; (* V4 i.. LONG *)
CONST aLeftEdge * = 8042BEC6H; (* V4 ..g LONG *)
CONST aPressed * = 80423535H; (* V4 ..g BOOL *)
CONST aRightEdge * = 8042BA82H; (* V4 ..g LONG *)
CONST aSelected * = 8042654BH; (* V4 isg BOOL *)
CONST aShowMe * = 80429BA8H; (* V4 isg BOOL *)
CONST aShowSelState * = 8042CAACH; (* V4 i.. BOOL *)
CONST aTimer * = 80426435H; (* V4 ..g LONG *)
CONST aTopEdge * = 8042509BH; (* V4 ..g LONG *)
CONST aVertWeight * = 804298D0H; (* V4 i.. LONG *)
CONST aWeight * = 80421D1FH; (* V4 i.. LONG *)
CONST aWidth * = 8042B59CH; (* V4 ..g LONG *)
CONST aWindow * = 80421591H; (* V4 ..g struct Window * *)
CONST aWindowObject * = 8042669EH; (* V4 ..g Object * *)
CONST vFontInherit * = 0;
CONST vFontNormal * = -1;
CONST vFontList * = -2;
CONST vFontTiny * = -3;
CONST vFontFixed * = -4;
CONST vFontTitle * = -5;
CONST vFontBig * = -6;
CONST vFrameNone * = 0;
CONST vFrameButton * = 1;
CONST vFrameImageButton * = 2;
CONST vFrameText * = 3;
CONST vFrameString * = 4;
CONST vFrameReadList * = 5;
CONST vFrameInputList * = 6;
CONST vFrameProp * = 7;
CONST vFrameGauge * = 8;
CONST vFrameGroup * = 9;
CONST vFramePopUp * = 10;
CONST vFrameVirtual * = 11;
CONST vFrameSlider * = 12;
CONST vFrameCount * = 13;
CONST vInputModeNone * = 0;
CONST vInputModeRelVerify * = 1;
CONST vInputModeImmediate * = 2;
CONST vInputModeToggle * = 3;
(****************************************************************************)
(** Rectangle **)
(****************************************************************************)
CONST cRectangle * = "Rectangle.mui";
(* Attributes *)
CONST aRectangleHBar * = 8042C943H; (* V7 i.g BOOL *)
CONST aRectangleVBar * = 80422204H; (* V7 i.g BOOL *)
(****************************************************************************)
(** Image **)
(****************************************************************************)
CONST cImage * = "Image.mui";
(* Attributes *)
CONST aImageFontMatch * = 8042815DH; (* V4 i.. BOOL *)
CONST aImageFontMatchHeight * = 80429F26H; (* V4 i.. BOOL *)
CONST aImageFontMatchWidth * = 804239BFH; (* V4 i.. BOOL *)
CONST aImageFreeHoriz * = 8042DA84H; (* V4 i.. BOOL *)
CONST aImageFreeVert * = 8042EA28H; (* V4 i.. BOOL *)
CONST aImageOldImage * = 80424F3DH; (* V4 i.. struct Image * *)
CONST aImageSpec * = 804233D5H; (* V4 i.. char * *)
CONST aImageState * = 8042A3ADH; (* V4 is. LONG *)
(****************************************************************************)
(** Bitmap **)
(****************************************************************************)
CONST cBitmap * = "Bitmap.mui";
(* Attributes *)
CONST aBitmapBitmap * = 804279BDH; (* V8 isg struct BitMap * *)
CONST aBitmapHeight * = 80421560H; (* V8 isg LONG *)
CONST aBitmapMappingTable * = 8042E23DH; (* V8 isg UBYTE * *)
CONST aBitmapSourceColors * = 80425360H; (* V8 isg ULONG * *)
CONST aBitmapTransparent * = 80422805H; (* V8 isg LONG *)
CONST aBitmapWidth * = 8042EB3AH; (* V8 isg LONG *)
(****************************************************************************)
(** Bodychunk **)
(****************************************************************************)
CONST cBodychunk * = "Bodychunk.mui";
(* Attributes *)
CONST aBodychunkBody * = 8042CA67H; (* V8 isg UBYTE * *)
CONST aBodychunkCompression * = 8042DE5FH; (* V8 isg UBYTE *)
CONST aBodychunkDepth * = 8042C392H; (* V8 isg LONG *)
CONST aBodychunkMasking * = 80423B0EH; (* V8 isg UBYTE *)
(****************************************************************************)
(** Text **)
(****************************************************************************)
CONST cText * = "Text.mui";
(* Attributes *)
CONST aTextContents * = 8042F8DCH; (* V4 isg STRPTR *)
CONST aTextHiChar * = 804218FFH; (* V4 i.. char *)
CONST aTextPreParse * = 8042566DH; (* V4 isg STRPTR *)
CONST aTextSetMax * = 80424D0AH; (* V4 i.. BOOL *)
CONST aTextSetMin * = 80424E10H; (* V4 i.. BOOL *)
(****************************************************************************)
(** String **)
(****************************************************************************)
CONST cString * = "String.mui";
(* Attributes *)
CONST aStringAccept * = 8042E3E1H; (* V4 isg STRPTR *)
CONST aStringAcknowledge * = 8042026CH; (* V4 ..g STRPTR *)
CONST aStringAttachedList * = 80420FD2H; (* V4 i.. Object * *)
CONST aStringBufferPos * = 80428B6CH; (* V4 .sg LONG *)
CONST aStringContents * = 80428FFDH; (* V4 isg STRPTR *)
CONST aStringDisplayPos * = 8042CCBFH; (* V4 .sg LONG *)
CONST aStringEditHook * = 80424C33H; (* V7 isg struct Hook * *)
CONST aStringFormat * = 80427484H; (* V4 i.g LONG *)
CONST aStringInteger * = 80426E8AH; (* V4 isg ULONG *)
CONST aStringMaxLen * = 80424984H; (* V4 i.. LONG *)
CONST aStringReject * = 8042179CH; (* V4 isg STRPTR *)
CONST aStringSecret * = 80428769H; (* V4 i.g BOOL *)
CONST vStringFormatLeft * = 0;
CONST vStringFormatCenter * = 1;
CONST vStringFormatRight * = 2;
(****************************************************************************)
(** Prop **)
(****************************************************************************)
CONST cProp * = "Prop.mui";
(* Attributes *)
CONST aPropEntries * = 8042FBDBH; (* V4 isg LONG *)
CONST aPropFirst * = 8042D4B2H; (* V4 isg LONG *)
CONST aPropHoriz * = 8042F4F3H; (* V4 i.g BOOL *)
CONST aPropSlider * = 80429C3AH; (* V4 isg BOOL *)
CONST aPropVisible * = 8042FEA6H; (* V4 isg LONG *)
(****************************************************************************)
(** Gauge **)
(****************************************************************************)
CONST cGauge * = "Gauge.mui";
(* Attributes *)
CONST aGaugeCurrent * = 8042F0DDH; (* V4 isg LONG *)
CONST aGaugeDivide * = 8042D8DFH; (* V4 isg BOOL *)
CONST aGaugeHoriz * = 804232DDH; (* V4 i.. BOOL *)
CONST aGaugeInfoText * = 8042BF15H; (* V7 isg char * *)
CONST aGaugeMax * = 8042BCDBH; (* V4 isg LONG *)
(****************************************************************************)
(** Scale **)
(****************************************************************************)
CONST cScale * = "Scale.mui";
(* Attributes *)
CONST aScaleHoriz * = 8042919AH; (* V4 isg BOOL *)
(****************************************************************************)
(** Boopsi **)
(****************************************************************************)
CONST cBoopsi * = "Boopsi.mui";
(* Attributes *)
CONST aBoopsiClass * = 80426999H; (* V4 isg struct IClass * *)
CONST aBoopsiClassID * = 8042BFA3H; (* V4 isg char * *)
CONST aBoopsiMaxHeight * = 8042757FH; (* V4 isg ULONG *)
CONST aBoopsiMaxWidth * = 8042BCB1H; (* V4 isg ULONG *)
CONST aBoopsiMinHeight * = 80422C93H; (* V4 isg ULONG *)
CONST aBoopsiMinWidth * = 80428FB2H; (* V4 isg ULONG *)
CONST aBoopsiObject * = 80420178H; (* V4 ..g Object * *)
CONST aBoopsiRemember * = 8042F4BDH; (* V4 i.. ULONG *)
CONST aBoopsiTagDrawInfo * = 8042BAE7H; (* V4 isg ULONG *)
CONST aBoopsiTagScreen * = 8042BC71H; (* V4 isg ULONG *)
CONST aBoopsiTagWindow * = 8042E11DH; (* V4 isg ULONG *)
(****************************************************************************)
(** Colorfield **)
(****************************************************************************)
CONST cColorfield * = "Colorfield.mui";
(* Attributes *)
CONST aColorfieldBlue * = 8042D3B0H; (* V4 isg ULONG *)
CONST aColorfieldGreen * = 80424466H; (* V4 isg ULONG *)
CONST aColorfieldPen * = 8042713AH; (* V4 ..g ULONG *)
CONST aColorfieldRed * = 804279F6H; (* V4 isg ULONG *)
CONST aColorfieldRGB * = 8042677AH; (* V4 isg ULONG * *)
(****************************************************************************)
(** List **)
(****************************************************************************)
CONST cList * = "List.mui";
(* Methods *)
CONST mListClear * = 8042AD89H; (* V4 *)
CONST mListExchange * = 8042468CH; (* V4 *)
CONST mListGetEntry * = 804280ECH; (* V4 *)
CONST mListInsert * = 80426C87H; (* V4 *)
CONST mListInsertSingle * = 804254D5H; (* V7 *)
CONST mListJump * = 8042BAABH; (* V4 *)
CONST mListNextSelected * = 80425F17H; (* V6 *)
CONST mListRedraw * = 80427993H; (* V4 *)
CONST mListRemove * = 8042647EH; (* V4 *)
CONST mListSelect * = 804252D8H; (* V4 *)
CONST mListSort * = 80422275H; (* V4 *)
(* Attributes *)
CONST aListActive * = 8042391CH; (* V4 isg LONG *)
CONST aListAdjustHeight * = 8042850DH; (* V4 i.. BOOL *)
CONST aListAdjustWidth * = 8042354AH; (* V4 i.. BOOL *)
CONST aListCompareHook * = 80425C14H; (* V4 is. struct Hook * *)
CONST aListConstructHook * = 8042894FH; (* V4 is. struct Hook * *)
CONST aListDestructHook * = 804297CEH; (* V4 is. struct Hook * *)
CONST aListDisplayHook * = 8042B4D5H; (* V4 is. struct Hook * *)
CONST aListEntries * = 80421654H; (* V4 ..g LONG *)
CONST aListFirst * = 804238D4H; (* V4 ..g LONG *)
CONST aListFormat * = 80423C0AH; (* V4 isg STRPTR *)
CONST aListMultiTestHook * = 8042C2C6H; (* V4 is. struct Hook * *)
CONST aListQuiet * = 8042D8C7H; (* V4 .s. BOOL *)
CONST aListSourceArray * = 8042C0A0H; (* V4 i.. APTR *)
CONST aListTitle * = 80423E66H; (* V6 isg char * *)
CONST aListVisible * = 8042191FH; (* V4 ..g LONG *)
CONST vListActiveOff * = -1;
CONST vListActiveTop * = -2;
CONST vListActiveBottom * = -3;
CONST vListActiveUp * = -4;
CONST vListActiveDown * = -5;
CONST vListActivePageUp * = -6;
CONST vListActivePageDown * = -7;
CONST vListConstructHookString * = -1;
CONST vListDestructHookString * = -1;
(****************************************************************************)
(** Floattext **)
(****************************************************************************)
CONST cFloattext * = "Floattext.mui";
(* Attributes *)
CONST aFloattextJustify * = 8042DC03H; (* V4 isg BOOL *)
CONST aFloattextSkipChars * = 80425C7DH; (* V4 is. STRPTR *)
CONST aFloattextTabSize * = 80427D17H; (* V4 is. LONG *)
CONST aFloattextText * = 8042D16AH; (* V4 isg STRPTR *)
(****************************************************************************)
(** Volumelist **)
(****************************************************************************)
CONST cVolumelist * = "Volumelist.mui";
(****************************************************************************)
(** Scrmodelist **)
(****************************************************************************)
CONST cScrmodelist * = "Scrmodelist.mui";
(* Attributes *)
(****************************************************************************)
(** Dirlist **)
(****************************************************************************)
CONST cDirlist * = "Dirlist.mui";
(* Methods *)
CONST mDirlistReRead * = 80422D71H; (* V4 *)
(* Attributes *)
CONST aDirlistAcceptPattern * = 8042760AH; (* V4 is. STRPTR *)
CONST aDirlistDirectory * = 8042EA41H; (* V4 is. STRPTR *)
CONST aDirlistDrawersOnly * = 8042B379H; (* V4 is. BOOL *)
CONST aDirlistFilesOnly * = 8042896AH; (* V4 is. BOOL *)
CONST aDirlistFilterDrawers * = 80424AD2H; (* V4 is. BOOL *)
CONST aDirlistFilterHook * = 8042AE19H; (* V4 is. struct Hook * *)
CONST aDirlistMultiSelDirs * = 80428653H; (* V6 is. BOOL *)
CONST aDirlistNumBytes * = 80429E26H; (* V4 ..g LONG *)
CONST aDirlistNumDrawers * = 80429CB8H; (* V4 ..g LONG *)
CONST aDirlistNumFiles * = 8042A6F0H; (* V4 ..g LONG *)
CONST aDirlistPath * = 80426176H; (* V4 ..g STRPTR *)
CONST aDirlistRejectIcons * = 80424808H; (* V4 is. BOOL *)
CONST aDirlistRejectPattern * = 804259C7H; (* V4 is. STRPTR *)
CONST aDirlistSortDirs * = 8042BBB9H; (* V4 is. LONG *)
CONST aDirlistSortHighLow * = 80421896H; (* V4 is. BOOL *)
CONST aDirlistSortType * = 804228BCH; (* V4 is. LONG *)
CONST aDirlistStatus * = 804240DEH; (* V4 ..g LONG *)
CONST vDirlistSortDirsFirst * = 0;
CONST vDirlistSortDirsLast * = 1;
CONST vDirlistSortDirsMix * = 2;
CONST vDirlistSortTypeName * = 0;
CONST vDirlistSortTypeDate * = 1;
CONST vDirlistSortTypeSize * = 2;
CONST vDirlistStatusInvalid * = 0;
CONST vDirlistStatusReading * = 1;
CONST vDirlistStatusValid * = 2;
(****************************************************************************)
(** Group **)
(****************************************************************************)
CONST cGroup * = "Group.mui";
(* Methods *)
(* Attributes *)
CONST aGroupActivePage * = 80424199H; (* V5 isg LONG *)
CONST aGroupChild * = 804226E6H; (* V4 i.. Object * *)
CONST aGroupColumns * = 8042F416H; (* V4 is. LONG *)
CONST aGroupHoriz * = 8042536BH; (* V4 i.. BOOL *)
CONST aGroupHorizSpacing * = 8042C651H; (* V4 is. LONG *)
CONST aGroupPageMode * = 80421A5FH; (* V5 is. BOOL *)
CONST aGroupRows * = 8042B68FH; (* V4 is. LONG *)
CONST aGroupSameHeight * = 8042037EH; (* V4 i.. BOOL *)
CONST aGroupSameSize * = 80420860H; (* V4 i.. BOOL *)
CONST aGroupSameWidth * = 8042B3ECH; (* V4 i.. BOOL *)
CONST aGroupSpacing * = 8042866DH; (* V4 is. LONG *)
CONST aGroupVertSpacing * = 8042E1BFH; (* V4 is. LONG *)
(****************************************************************************)
(** Register **)
(****************************************************************************)
CONST cRegister * = "Register.mui";
(* Attributes *)
CONST aRegisterFrame * = 8042349BH; (* V7 i.g BOOL *)
CONST aRegisterTitles * = 804297ECH; (* V7 i.g STRPTR * *)
(****************************************************************************)
(** Virtgroup **)
(****************************************************************************)
CONST cVirtgroup * = "Virtgroup.mui";
(* Methods *)
(* Attributes *)
CONST aVirtgroupHeight * = 80423038H; (* V6 ..g LONG *)
CONST aVirtgroupLeft * = 80429371H; (* V6 isg LONG *)
CONST aVirtgroupTop * = 80425200H; (* V6 isg LONG *)
CONST aVirtgroupWidth * = 80427C49H; (* V6 ..g LONG *)
(****************************************************************************)
(** Scrollgroup **)
(****************************************************************************)
CONST cScrollgroup * = "Scrollgroup.mui";
(* Attributes *)
CONST aScrollgroupContents * = 80421261H; (* V4 i.. Object * *)
(****************************************************************************)
(** Scrollbar **)
(****************************************************************************)
CONST cScrollbar * = "Scrollbar.mui";
(****************************************************************************)
(** Listview **)
(****************************************************************************)
CONST cListview * = "Listview.mui";
(* Attributes *)
CONST aListviewClickColumn * = 8042D1B3H; (* V7 ..g LONG *)
CONST aListviewDefClickColumn * = 8042B296H; (* V7 isg LONG *)
CONST aListviewDoubleClick * = 80424635H; (* V4 i.g BOOL *)
CONST aListviewInput * = 8042682DH; (* V4 i.. BOOL *)
CONST aListviewList * = 8042BCCEH; (* V4 i.. Object * *)
CONST aListviewMultiSelect * = 80427E08H; (* V7 i.. LONG *)
CONST aListviewSelectChange * = 8042178FH; (* V4 ..g BOOL *)
CONST vListviewMultiSelectNone * = 0;
CONST vListviewMultiSelectDefault * = 1;
CONST vListviewMultiSelectShifted * = 2;
CONST vListviewMultiSelectAlways * = 3;
(****************************************************************************)
(** Radio **)
(****************************************************************************)
CONST cRadio * = "Radio.mui";
(* Attributes *)
CONST aRadioActive * = 80429B41H; (* V4 isg LONG *)
CONST aRadioEntries * = 8042B6A1H; (* V4 i.. STRPTR * *)
(****************************************************************************)
(** Cycle **)
(****************************************************************************)
CONST cCycle * = "Cycle.mui";
(* Attributes *)
CONST aCycleActive * = 80421788H; (* V4 isg LONG *)
CONST aCycleEntries * = 80420629H; (* V4 i.. STRPTR * *)
CONST vCycleActiveNext * = -1;
CONST vCycleActivePrev * = -2;
(****************************************************************************)
(** Slider **)
(****************************************************************************)
CONST cSlider * = "Slider.mui";
(* Attributes *)
CONST aSliderLevel * = 8042AE3AH; (* V4 isg LONG *)
CONST aSliderMax * = 8042D78AH; (* V4 i.. LONG *)
CONST aSliderMin * = 8042E404H; (* V4 i.. LONG *)
CONST aSliderQuiet * = 80420B26H; (* V6 i.. BOOL *)
CONST aSliderReverse * = 8042F2A0H; (* V4 isg BOOL *)
(****************************************************************************)
(** Coloradjust **)
(****************************************************************************)
CONST cColoradjust * = "Coloradjust.mui";
(* Attributes *)
CONST aColoradjustBlue * = 8042B8A3H; (* V4 isg ULONG *)
CONST aColoradjustGreen * = 804285ABH; (* V4 isg ULONG *)
CONST aColoradjustModeID * = 8042EC59H; (* V4 isg ULONG *)
CONST aColoradjustRed * = 80420EAAH; (* V4 isg ULONG *)
CONST aColoradjustRGB * = 8042F899H; (* V4 isg ULONG * *)
(****************************************************************************)
(** Palette **)
(****************************************************************************)
CONST cPalette * = "Palette.mui";
(* Attributes *)
CONST aPaletteEntries * = 8042A3D8H; (* V6 i.g struct MUI_Palette_Entry * *)
CONST aPaletteGroupable * = 80423E67H; (* V6 isg BOOL *)
CONST aPaletteNames * = 8042C3A2H; (* V6 isg char ** *)
(****************************************************************************)
(** Colorpanel **)
(****************************************************************************)
CONST cColorpanel * = "Colorpanel.mui";
(* Methods *)
(* Attributes *)
(****************************************************************************)
(** Popstring **)
(****************************************************************************)
CONST cPopstring * = "Popstring.mui";
(* Methods *)
CONST mPopstringClose * = 8042DC52H; (* V7 *)
CONST mPopstringOpen * = 804258BAH; (* V7 *)
(* Attributes *)
CONST aPopstringButton * = 8042D0B9H; (* V7 i.g Object * *)
CONST aPopstringCloseHook * = 804256BFH; (* V7 isg struct Hook * *)
CONST aPopstringOpenHook * = 80429D00H; (* V7 isg struct Hook * *)
CONST aPopstringString * = 804239EAH; (* V7 i.g Object * *)
CONST aPopstringToggle * = 80422B7AH; (* V7 isg BOOL *)
(****************************************************************************)
(** Popobject **)
(****************************************************************************)
CONST cPopobject * = "Popobject.mui";
(* Attributes *)
CONST aPopobjectFollow * = 80424CB5H; (* V7 isg BOOL *)
CONST aPopobjectLight * = 8042A5A3H; (* V7 isg BOOL *)
CONST aPopobjectObject * = 804293E3H; (* V7 i.g Object * *)
CONST aPopobjectObjStrHook * = 8042DB44H; (* V7 isg struct Hook * *)
CONST aPopobjectStrObjHook * = 8042FBE1H; (* V7 isg struct Hook * *)
CONST aPopobjectVolatile * = 804252ECH; (* V7 isg BOOL *)
(****************************************************************************)
(** Poplist **)
(****************************************************************************)
CONST cPoplist * = "Poplist.mui";
(* Attributes *)
CONST aPoplistArray * = 8042084CH; (* V8 i.. char ** *)
(****************************************************************************)
(** Popasl **)
(****************************************************************************)
CONST cPopasl * = "Popasl.mui";
(* Attributes *)
CONST aPopaslActive * = 80421B37H; (* V7 ..g BOOL *)
CONST aPopaslStartHook * = 8042B703H; (* V7 isg struct Hook * *)
CONST aPopaslStopHook * = 8042D8D2H; (* V7 isg struct Hook * *)
CONST aPopaslType * = 8042DF3DH; (* V7 i.g ULONG *)
(***************************************************************************
** Parameter structures for some classes
***************************************************************************)
TYPE
PaletteEntryPtr * = UNTRACED POINTER TO PaletteEntry;
RenderInfoPtr * = UNTRACED POINTER TO RenderInfo;
ScrmodelistEntryPtr * = UNTRACED POINTER TO ScrmodelistEntry;
NotifyDataPtr * = UNTRACED POINTER TO NotifyData;
MinMaxPtr * = UNTRACED POINTER TO MinMax;
AreaDataPtr * = UNTRACED POINTER TO AreaData;
GlobalInfoPtr * = UNTRACED POINTER TO GlobalInfo;
PaletteEntry * = STRUCT;
id * : LONGINT;
red * : LONGINT;
green * : LONGINT;
blue * : LONGINT;
group * : LONGINT;;
END;
CONST vPaletteEntryEnd = -1;
TYPE
ScrmodelistEntry * = STRUCT;
name * : Exec.STRPTR;
modeID * : LONGINT;
END;
(*************************************************************************
** Structures and Macros for creating custom classes.
*************************************************************************)
(*
** GENERAL NOTES:
**
** - Everything described in this header file is only valid within
** MUI classes. You may never use any of these things out of
** a class, e.g. in a traditional MUI application.
**
** - Except when otherwise stated, all structures are strictly read only.
*)
(* Instance data of notify class *)
TYPE
NotifyData * = STRUCT
globalInfo * : GlobalInfoPtr;
userData * : LONGINT;
priv0 * : LONGINT;
priv1 * : LONGINT;
priv2 * : LONGINT;
priv3 * : LONGINT;
priv4 * : LONGINT;
END;
(* MUI_MinMax structure holds information about minimum, maximum
and default dimensions of an object. *)
MinMax * = STRUCT
minWidth * : INTEGER;
minHeight * : INTEGER;
maxWidth * : INTEGER;
maxHeight * : INTEGER;
defWidth * : INTEGER;
defHeight * : INTEGER;
END;
CONST maxmax * = 10000; (* use this if a dimension is not limited. *)
(* (partial) instance data of area class *)
TYPE
AreaData * = STRUCT
renderInfo * : RenderInfoPtr; (* RenderInfo for this object *)
priv0 : Exec.APTR; (* !!! private data !!! *)
font * : Graphics.TextFontPtr; (* Font *)
minMax * : MinMax; (* min/max/default sizes *)
box * : Intuition.IBox; (* position and dimension *)
addleft * : SHORTINT; (* frame & innerspacing left offset *)
addtop * : SHORTINT; (* frame & innerspacing top offset *)
subwidth * : SHORTINT; (* frame & innerspacing add. width *)
subheight * : SHORTINT; (* frame & innerspacing add. height *)
flags * : LONGSET; (* see definitions below *)
(* ... private data follows ... *)
END;
(* Definitions for AreaData.flags *)
CONST
adfDrawobject * = 0; (* completely redraw yourself *)
adfDrawupdate * = 1; (* only update yourself *)
(* Global information about parent application. *)
TYPE
GlobalInfo * = STRUCT;
priv0 : Exec.APTR; (* !!! private data !!! *)
applicationObject * : Object;
(* ... private data follows ... *)
END;
(* MUI's draw pens *)
CONST
penShine *= 0;
penHalfshine *= 1;
penBackground *= 2;
penHalfshadow *= 3;
penShadow *= 4;
penText *= 5;
penFill *= 6;
penActiveObj *= 7;
penCount *= 8;
TYPE
PenPtr * = UNTRACED POINTER TO ARRAY penCount OF INTEGER;
(* Information on display environment *)
RenderInfo * = STRUCT;
windowObject * : Object; (* valid between MUIM_Setup/MUIM_Cleanup *)
screen * : Intuition.ScreenPtr; (* valid between MUIM_Setup/MUIM_Cleanup *)
drawInfo * : Intuition.DrawInfoPtr; (* valid between MUIM_Setup/MUIM_Cleanup *)
pens * : PenPtr; (* valid between MUIM_Setup/MUIM_Cleanup *)
window * : Intuition.WindowPtr; (* valid between MUIM_Show/MUIM_Hide *)
rastPort * : Graphics.RastPortPtr; (* valid between MUIM_Show/MUIM_Hide *)
(* ... private data follows ...*)
END;
(* the following macros can be used to get pointers to an objects
GlobalInfo and RenderInfo structures. *)
dummyXFC2 = UNTRACED POINTER TO STRUCT;
mnd : NotifyData;
mad : AreaData;
END;
PROCEDURE GetNotifyData*( obj : Object ):NotifyDataPtr;
VAR d : dummyXFC2;
BEGIN
d:= SYSTEM.VAL( dummyXFC2, obj );
RETURN SYSTEM.VAL( NotifyDataPtr,SYSTEM.ADR( d.mnd ) );
END GetNotifyData;
PROCEDURE GetAreaData*( obj : Object ):AreaDataPtr;
VAR d : dummyXFC2;
BEGIN
d:= SYSTEM.VAL( dummyXFC2, obj );
RETURN SYSTEM.VAL( AreaDataPtr,SYSTEM.ADR( d.mad ) );
END GetAreaData;
PROCEDURE GetGlobalInfo*( obj : Object ):GlobalInfoPtr;
BEGIN
RETURN SYSTEM.VAL( dummyXFC2, obj ).mnd.globalInfo;
END GetGlobalInfo;
PROCEDURE GetRenderInfo*( obj : Object ):RenderInfoPtr;
BEGIN
RETURN SYSTEM.VAL( dummyXFC2, obj ).mad.renderInfo;
END GetRenderInfo;
(* User configurable keyboard events coming with MUIM_HandleInput *)
CONST
keyRelease *= -2; (* not a real key, faked when wenn keyPress is released *)
keyNone *= -1;
keyPress *= 0;
keyToggle *= 1;
keyUp *= 2;
keyDown *= 3;
keyPageUp *= 4;
keyPageDown *= 5;
keyTop *= 6;
keyBottom *= 7;
keyLeft *= 8;
keyRight *= 9;
keyWordLeft *= 10;
keyWordRight *= 11;
keyLineStart *= 12;
keyLineEnd *= 13;
keyGadgetNext *= 14;
keyGadgetPrev *= 15;
keyGadgetOff *= 16;
keyWindowClose *= 17;
keyWindowNext *= 18;
keyWindowPrev *= 19;
keyHelp *= 20;
(* Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them *)
PROCEDURE app*( obj : Object ):Object;
BEGIN RETURN GetGlobalInfo( obj ).applicationObject END app;
PROCEDURE win*( obj : Object ):Object;
BEGIN RETURN GetRenderInfo( obj ).windowObject END win;
PROCEDURE dri*( obj : Object ):Intuition.DrawInfoPtr;
BEGIN RETURN GetRenderInfo( obj ).drawInfo END dri;
PROCEDURE window*( obj : Object ):Intuition.WindowPtr;
BEGIN RETURN GetRenderInfo( obj ).window END window;
PROCEDURE screen*( obj : Object ):Intuition.ScreenPtr;
BEGIN RETURN GetRenderInfo( obj ).screen END screen;
PROCEDURE rp*( obj : Object ):Graphics.RastPortPtr;
BEGIN RETURN GetRenderInfo( obj ).rastPort END rp;
PROCEDURE left*( obj : Object ):INTEGER;
BEGIN RETURN GetAreaData( obj ).box.left END left;
PROCEDURE top*( obj : Object ):INTEGER;
BEGIN RETURN GetAreaData( obj ).box.top END top;
PROCEDURE width*( obj : Object ):INTEGER;
BEGIN RETURN GetAreaData( obj ).box.width END width;
PROCEDURE height*( obj : Object ):INTEGER;
BEGIN RETURN GetAreaData( obj ).box.height END height;
PROCEDURE right*( obj : Object ):INTEGER;
BEGIN RETURN left(obj)+width(obj)-1 END right;
PROCEDURE bottom*( obj : Object ):INTEGER;
BEGIN RETURN top(obj)+height(obj)-1 END bottom;
PROCEDURE addleft*( obj : Object ):SHORTINT;
BEGIN RETURN GetAreaData(obj).addleft END addleft;
PROCEDURE addtop*( obj : Object ):SHORTINT;
BEGIN RETURN GetAreaData(obj).addtop END addtop;
PROCEDURE subwidth*( obj : Object ):SHORTINT;
BEGIN RETURN GetAreaData(obj).subwidth END subwidth;
PROCEDURE subheight*( obj : Object ):SHORTINT;
BEGIN RETURN GetAreaData(obj).subheight END subheight;
PROCEDURE mleft*( obj : Object ):INTEGER;
BEGIN RETURN ( left(obj)+addleft(obj) ) END mleft;
PROCEDURE mtop*( obj : Object ):INTEGER;
BEGIN RETURN ( top(obj)+addtop(obj) ) END mtop;
PROCEDURE mwidth*( obj : Object ):INTEGER;
BEGIN RETURN ( width(obj)-subwidth(obj) ) END mwidth;
PROCEDURE mheight*( obj : Object ):INTEGER;
BEGIN RETURN ( height(obj)-subheight(obj) ) END mheight;
PROCEDURE mright*( obj : Object ):INTEGER;
BEGIN RETURN ( mleft(obj)+mwidth(obj)-1 ) END mright;
PROCEDURE mbottom*( obj : Object ):INTEGER;
BEGIN RETURN ( mtop(obj)+mheight(obj)-1 ) END mbottom;
PROCEDURE font*( obj : Object ):Graphics.TextFontPtr;
BEGIN RETURN GetAreaData(obj).font END font;
PROCEDURE flags*( obj : Object ):LONGSET;
BEGIN RETURN GetAreaData(obj).flags END flags;
(* Mui.CustomClass returned by Mui.CreateCustomClass() *)
TYPE
CustomClassPtr *= UNTRACED POINTER TO CustomClass;
CustomClass *= STRUCT
userData *: Exec.APTR; (* use for whatever you want *)
utilityBase *: Exec.LibraryPtr; (* MUI has opened these libraries *)
dosBase *: Exec.LibraryPtr; (* for you automatically. You can *)
gfxBase *: Exec.LibraryPtr; (* use them or decide to open *)
intuitionBase *: Exec.LibraryPtr; (* your libraries yourself. *)
super *: Intuition.IClassPtr; (* pointer to super class *)
class *: Intuition.IClassPtr; (* pointer to the new class *)
(* ... private data follows ... *)
END;
(***************************************************************************
**
** For Boopsi Image Implementors Only:
**
** If MUI is using a boopsi image object, it will send a special method
** immediately after object creation. This method has a parameter structure
** where the boopsi can fill in its minimum and maximum size and learn if
** its used in a horizontal or vertical context.
**
** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
** value. That's how MUI sees that the method is implemented.
**
** Note: MUI does not depend on this method. If the boopsi image doesn't
** implement it, minimum size will be 0 and maximum size unlimited.
**
***************************************************************************)
CONST mBoopsiQuery *= 80427157H; (* this is send to the boopsi and *)
(* must be used as return value *)
TYPE pBoopsiQuery *= STRUCT( msg* : Intuition.Msg ); (* parameter structure *)
screen * : Intuition.ScreenPtr; (* read only, display context *)
flags * : LONGSET; (* read only, see below *)
minWidth * : LONGINT; (* write only, fill in min width *)
minHeight * : LONGINT; (* write only, fill in min height *)
maxWidth * : LONGINT; (* write only, fill in max width *)
maxHeight * : LONGINT; (* write only, fill in max height *)
renderInfo * : RenderInfoPtr; (* read only, display context *)
(* ... may grow in future ... *)
END;
CONST bqfHoriz *= 0; (* object used in a horizontal *)
(* context (else vertical) *)
CONST bqMaxMax *= 10000; (* use this for unlimited MaxWidth/Height *)
(***************************************************************************
** Method Parameter Structures
**
***************************************************************************)
TYPE
(* Notify *)
pCallHookPtr * = UNTRACED POINTER TO pCallHook;
pCallHook * = STRUCT( msg * : Intuition.Msg );
hook * : Utility.HookPtr;
(* following hookparams *)
END;
pMultiSetPtr * = UNTRACED POINTER TO pMultiSet;
pMultiSet * = STRUCT( msg * : Intuition.Msg );
attr * : LONGINT;
val * : LONGINT;
obj * : Object;
(* ... *)
END;
pNotifyPtr * = UNTRACED POINTER TO pNotify;
pNotify * = STRUCT( msg * : Intuition.Msg );
trigAttr * : LONGINT;
trigVal * : LONGINT;
destObj * : Object;
(* FollowingParams *)
END;
pSetPtr * = UNTRACED POINTER TO pSet;
pSet * = STRUCT( msg * : Intuition.Msg );
attr * : LONGINT;
val * : LONGINT;
END;
pSetAsStringPtr * = UNTRACED POINTER TO pSetAsString;
pSetAsString * = STRUCT( msg * : Intuition.Msg );
attr * : LONGINT;
format * : Exec.STRPTR;
val * : LONGINT;
(* ... *)
END;
pWriteLongPtr * = UNTRACED POINTER TO pWriteLong;
pWriteLong * = STRUCT( msg * : Intuition.Msg );
val * : LONGINT;
memory * : UNTRACED POINTER TO LONGINT;
END;
pWriteStringPtr * = UNTRACED POINTER TO pWriteString;
pWriteString * = STRUCT( msg * : Intuition.Msg );
str * : Exec.STRPTR;
memory * : Exec.STRPTR;
END;
(* Application *)
pApplicationGetMenuCheckPtr * = UNTRACED POINTER TO pApplicationGetMenuCheck;
pApplicationGetMenuCheck * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
END;
pApplicationGetMenuStatePtr * = UNTRACED POINTER TO pApplicationGetMenuState;
pApplicationGetMenuState * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
END;
pApplicationInputPtr * = UNTRACED POINTER TO pApplicationInput;
pApplicationInput * = STRUCT( msg * : Intuition.Msg );
signal * : UNTRACED POINTER TO LONGSET;
END;
pApplicationLoadPtr * = UNTRACED POINTER TO pApplicationLoad;
pApplicationLoad * = STRUCT( msg * : Intuition.Msg );
name * : Exec.STRPTR;
END;
pApplicationPushMethodPtr * = UNTRACED POINTER TO pApplicationPushMethod;
pApplicationPushMethod * = STRUCT( msg * : Intuition.Msg );
dest * : Object;
(* following Method *)
END;
pApplicationReturnIDPtr * = UNTRACED POINTER TO pApplicationReturnID;
pApplicationReturnID * = STRUCT( msg * : Intuition.Msg );
retid * : LONGINT;
END;
pApplicationSavePtr * = UNTRACED POINTER TO pApplicationSave;
pApplicationSave * = STRUCT( msg * : Intuition.Msg );
name * : Exec.STRPTR;
END;
pApplicationSetMenuCheckPtr * = UNTRACED POINTER TO pApplicationSetMenuCheck;
pApplicationSetMenuCheck * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
set * : LONGINT;
END;
pApplicationSetMenuStatePtr * = UNTRACED POINTER TO pApplicationSetMenuState;
pApplicationSetMenuState * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
set * : LONGINT;
END;
pApplicationShowHelpPtr * = UNTRACED POINTER TO pApplicationShowHelp;
pApplicationShowHelp * = STRUCT( msg * : Intuition.Msg );
window * : Object;
name * : Exec.STRPTR;
node * : Exec.STRPTR;
line * : LONGINT;
END;
(* Window *)
pWindowGetMenuCheckPtr * = UNTRACED POINTER TO pWindowGetMenuCheck;
pWindowGetMenuCheck * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
END;
pWindowGetMenuStatePtr * = UNTRACED POINTER TO pWindowGetMenuState;
pWindowGetMenuState * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
END;
pWindowSetCycleChainPtr * = UNTRACED POINTER TO pWindowSetCycleChain;
pWindowSetCycleChain * = STRUCT( msg * : Intuition.Msg );
(* following objects *)
END;
pWindowSetMenuCheckPtr * = UNTRACED POINTER TO pWindowSetMenuCheck;
pWindowSetMenuCheck * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
set * : LONGINT;
END;
pWindowSetMenuStatePtr * = UNTRACED POINTER TO pWindowSetMenuState;
pWindowSetMenuState * = STRUCT( msg * : Intuition.Msg );
menuID * : LONGINT;
set * : LONGINT;
END;
(* Area *)
pAskMinMaxPtr * = UNTRACED POINTER TO pAskMinMax;
pAskMinMax * = STRUCT( msg * : Intuition.Msg );
minMax * : MinMaxPtr;
END;
pDrawPtr * = UNTRACED POINTER TO pDraw;
pDraw * = STRUCT( msg * : Intuition.Msg );
flags * : LONGSET
END;
pHandleInputPtr * = UNTRACED POINTER TO pHandleInput;
pHandleInput * = STRUCT( msg * : Intuition.Msg );
imsg * : Intuition.IntuiMessagePtr;
muikey * : LONGINT;
END;
pSetUpPtr * = UNTRACED POINTER TO pSetUp;
pSetUp * = STRUCT( msg * : Intuition.Msg );
renderInfo * : RenderInfoPtr;
END;
(* List *)
pListExchangePtr * = UNTRACED POINTER TO pListExchange;
pListExchange * = STRUCT( msg * : Intuition.Msg );
pos1 * : LONGINT;
pos2 * : LONGINT;
END;
pListGetEntryPtr * = UNTRACED POINTER TO pListGetEntry;
pListGetEntry * = STRUCT( msg * : Intuition.Msg );
pos * : LONGINT;
entry * : Exec.APTR
END;
pListInsertPtr * = UNTRACED POINTER TO pListInsert;
pListInsert * = STRUCT( msg * : Intuition.Msg );
entries * : Exec.APTR;
count * : LONGINT;
pos * : LONGINT;
END;
pListInsertSinglePtr * = UNTRACED POINTER TO pListInsertSingle;
pListInsertSingle * = STRUCT( msg * : Intuition.Msg );
entry * : Exec.APTR;
pos * : LONGINT;
END;
pListJumpPtr * = UNTRACED POINTER TO pListJump;
pListJump * = STRUCT( msg * : Intuition.Msg );
pos * : LONGINT;
END;
pListNextSelectedPtr * = UNTRACED POINTER TO pListNextSelected;
pListNextSelected * = STRUCT( msg * : Intuition.Msg );
pos * : UNTRACED POINTER TO LONGINT;
END;
pListRedrawPtr * = UNTRACED POINTER TO pListRedraw;
pListRedraw * = STRUCT( msg * : Intuition.Msg );
pos * : LONGINT;
END;
pListRemovePtr * = UNTRACED POINTER TO pListRemove;
pListRemove * = STRUCT( msg * : Intuition.Msg );
pos * : LONGINT;
END;
pListSelectPtr * = UNTRACED POINTER TO pListSelect;
pListSelect * = STRUCT( msg * : Intuition.Msg );
pos * : LONGINT;
selType * : LONGINT;
state * : UNTRACED POINTER TO LONGINT;
END;
(* Popstring *)
pPopstringClosePtr * = UNTRACED POINTER TO pPopstringClose;
pPopstringClose *= STRUCT( msg * : Intuition.Msg );
result : LONGINT;
END;
(***************************************************************************
** Functions in muimaster.library
***************************************************************************)
VAR
base * : Exec.LibraryPtr;
PROCEDURE NewObjectA * {base,-30}( class{8} : ARRAY OF CHAR;
tags{9} : ARRAY OF Utility.TagItem): Object;
PROCEDURE NewObject * {base,-30}( class{8} : ARRAY OF CHAR;
tags{9}.. : Utility.Tag): Object;
PROCEDURE DisposeObject * {base,-36}( obj{8} : Object);
PROCEDURE RequestA * {base,-42}( app{0} : Object;
win{1} : Object;
flags{2} : LONGINT;
title{8} : ARRAY OF CHAR;
gadgets{9} : ARRAY OF CHAR;
format{10} : ARRAY OF CHAR;
params{11} : ARRAY OF Utility.TagItem) : LONGINT;
PROCEDURE Request * {base,-42}( app{0} : Object;
win{1} : Object;
flags{2} : LONGINT;
title{8} : ARRAY OF CHAR;
gadgets{9} : ARRAY OF CHAR;
format{10} : ARRAY OF CHAR;
params{11}.. : Utility.Tag) : LONGINT;
PROCEDURE AllocAslRequest * {base,-48}( typ{0} : LONGINT;
tags{8} : ARRAY OF Utility.TagItem) : ASL.ASLRequesterPtr;
PROCEDURE AllocAslRequestTags * {base,-48}( typ{0} : LONGINT;
tags{8}.. : Utility.Tag) : ASL.ASLRequesterPtr;
PROCEDURE AslRequest * {base,-54}( req{8} : ASL.ASLRequesterPtr;
tags{9} : ARRAY OF Utility.TagItem) : BOOLEAN;
PROCEDURE AslRequestTags * {base,-54}( req{8} : ASL.ASLRequesterPtr;
tags{9}.. : Utility.Tag) : BOOLEAN;
PROCEDURE FreeAslRequest * {base,-60}( req{8} : ASL.ASLRequesterPtr );
PROCEDURE Error * {base,-66}() : LONGINT;
(* functions to be used with custom classes *)
PROCEDURE SetError * {base,-72}( num{0} : LONGINT ):LONGINT;
PROCEDURE GetClass * {base,-78}( classname{8} : ARRAY OF CHAR ):Intuition.IClassPtr;
PROCEDURE FreeClass * {base,-84}( classptr{8}: Intuition.IClassPtr );
PROCEDURE RequestIDCMP * {base,-90}( obj{8}:Object; flags{0}:LONGSET );
PROCEDURE RejectIDCMP * {base,-96}( obj{8}:Object; flags{0}:LONGSET );
PROCEDURE Redraw * {base,-102}( obj{8}:Object; flags{0}:LONGSET );
PROCEDURE CreateCustomClass * {base,-108}( base{8} : Exec.LibraryPtr;
supername{9}: ARRAY OF CHAR;
supermcc{10}: CustomClassPtr;
datasize{0} : LONGINT;
dispfunc{11}: dispatcher ):CustomClassPtr;
PROCEDURE DeleteCustomClass * {base,-114}( mcc{8} : CustomClassPtr ):BOOLEAN;
PROCEDURE MakeObject * {base,-120}(objtype{0} : LONGINT;
params{8}.. : LONGINT ):Object;
PROCEDURE DoMethodA * ( obj{10}, msg{9}: Intuition.Msg ): LONGINT;
BEGIN (* $EntryExitCode- *)
SYSTEM.INLINE( 0206AH, 0FFFCH, (* movea.l -4(a2),a0 *)
02F28H, 00008H, (* move.l 8(a0),-(a7) *)
04E75H); (* rts *)
END DoMethodA;
PROCEDURE DoMethod * {"Mui.DoMethodA"} ( obj{10}: Object; msg{9}..: Exec.APTR );
PROCEDURE DOMethod * {"Mui.DoMethodA"} ( obj{10}: Object; msg{9}..: Exec.APTR ) : LONGINT;
BEGIN
base := Exec.OpenLibrary( name, minVersion);
IF base=NIL THEN
IF Intuition.DisplayAlert(0,"\x00\x64\x14missing muimaster.library V7\o\o",50) THEN END;
HALT(0)
END;
CLOSE
IF base#NIL THEN Exec.CloseLibrary(base) END;
END Mui.