home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-23 | 87.9 KB | 2,582 lines |
- ****************************************************************************
- **
- ** MUI - MagicUserInterface
- ** (c) 1993-95 by Stefan Stuntz
- **
- ** Main Header File
- **
- *** Assembler modifications 26-Aug-93 by Henri Veisterä.
- **
- *** Updated for MUI V2.2 25-Aug-94 by Paul Hickman.
- **
- ****************************************************************************
- ** General Header File Information
- ****************************************************************************
- **
- ** All macro and structure definitions follow these rules:
- **
- ** Name Meaning
- **
- ** MUIC_<class> Name of a class
- ** MUIM_<class>_<method> Method
- ** MUIP_<class>_<method> Methods parameter structure
- ** MUIV_<class>_<method>_<x> Special method value
- ** MUIA_<class>_<attrib> Attribute
- ** MUIV_<class>_<attrib>_<x> Special attribute value
- ** MUIE_<error> Error return code from MUI_Error()
- ** MUII_<name> Standard MUI image
- ** MUII_<name> Object type for MUI_MakeObject()
- **
- ** MUIA_... attribute definitions are followed by a comment
- ** consisting of the three possible letters I, S and G.
- ** I: it's possible to specify this attribute at object creation time.
- ** S: it's possible to change this attribute with SetAttrs().
- ** G: it's possible to get this attribute with GetAttr().
- **
- ** Items marked with "Custom Class" are for use in custom classes only!
- */
-
-
-
- IFND LIBRARIES_MUI_I
- LIBRARIES_MUI_I SET 1
-
- IFND EXEC_TYPES_I
- INCLUDE "exec/types.i"
- ENDC ;EXEC_TYPES_I
-
- IFND INTUITION_CLASSES_I
- INCLUDE "intuition/classes.i"
- ENDC ;INTUITION_CLASSES_I
-
- IFND INTUITION_SCREENS_I
- INCLUDE "intuition/screens.i"
- ENDC ;INTUITION_SCREENS_I
-
- IFND UTILITY_HOOKS_I
- INCLUDE "utility/hooks.i"
- ENDC ;UTILITY_HOOKS_I
-
- IFND LIBRARIES_ASL_I
- INCLUDE "libraries/asl.i"
- ENDC
-
-
- ****************************************************************************
- ** Library specification
- ****************************************************************************
-
- MUIMASTER_NAME MACRO
- dc.b "muimaster.library",0
- even
- ENDM
- MUIMASTER_VMIN EQU 8
- CALLMUI MACRO ; Func
- move.l _MUIMasterBase(pc),a6
- jsr _LVO\1(a6)
- ENDM
- NULL equ 0
- TRUE equ 1
- FALSE equ NULL
-
-
- ***************************************************************************
- ** Object Types for MUI_MakeObject()
- ***************************************************************************
-
- MUIO_Label equ 1 * STRPTR label, ULONG flags
- MUIO_Button equ 2 * STRPTR label
- MUIO_Checkmark equ 3 * STRPTR label
- MUIO_Cycle equ 4 * STRPTR label, STRPTR *entries
- MUIO_Radio equ 5 * STRPTR label, STRPTR *entries
- MUIO_Slider equ 6 * STRPTR label, LONG min, LONG max
- MUIO_String equ 7 * STRPTR label, LONG maxlen
- MUIO_PopButton equ 8 * STRPTR imagespec
- MUIO_HSpace equ 9 * LONG space
- MUIO_VSpace equ 10 * LONG space
- MUIO_HBar equ 11 * LONG space
- MUIO_VBar equ 12 * LONG space
- MUIO_MenustripNM equ 13 * struct NewMenu .*ULONG flags
- MUIO_Menuitem equ 14 * STRPTR label, STRPTR shortcut, ULONG flags, ULONG data
- MUIO_BarTitle equ 15 * STRPTR label
-
- MUIO_Label_SingleFrame equ 1<<8
- MUIO_Label_DoubleFrame equ 1<<9
- MUIO_Label_LeftAligned equ 1<<10
- MUIO_Label_Centered equ 1<<11
-
-
-
- ****************************************************************************
- ** ARexx Interface
- ****************************************************************************
-
- STRUCTURE MUI_Command,0
- APTR mc_Name
- APTR mc_Template
- LONG mc_Parameters
- STRUCT mc_Hook,h_SIZEOF
- STRUCT mc_Reserved,4*5
- LABEL MUI_Command_SIZEOF
-
- MC_TEMPLATE_ID EQU ~0
-
-
- MUI_RXERR_BADDEFINITION equ -1
- MUI_RXERR_OUTOFMEMORY equ -2
- MUI_RXERR_UNKNOWNCOMMAND equ -3
- MUI_RXERR_BADSYNTAX equ -4
-
-
-
- ****************************************************************************
- ** Return values for MUI_Error()
- ****************************************************************************
-
- MUIE_OK EQU 0
- MUIE_OutOfMemory EQU 1
- MUIE_OutOfGfxMemory EQU 2
- MUIE_InvalidWindowObject EQU 3
- MUIE_MissingLibrary EQU 4
- MUIE_NoARexx EQU 5
- MUIE_SingleTask EQU 6
-
-
-
- ****************************************************************************
- ** Standard MUI Images
- ****************************************************************************
-
- MUII_WindowBack EQU 0
- MUII_RequesterBack EQU 1
- MUII_ButtonBack EQU 2
- MUII_ListBack EQU 3
- MUII_TextBack EQU 4
- MUII_PropBack EQU 5
- MUII_PopupBack EQU 6
- MUII_SelectedBack EQU 7
- MUII_ListCursor EQU 8
- MUII_ListSelect EQU 9
- MUII_ListSelCur EQU 10
- MUII_ArrowUp EQU 11
- MUII_ArrowDown EQU 12
- MUII_ArrowLeft EQU 13
- MUII_ArrowRight EQU 14
- MUII_CheckMark EQU 15
- MUII_RadioButton EQU 16
- MUII_Cycle EQU 17
- MUII_PopUp EQU 18
- MUII_PopFile EQU 19
- MUII_PopDrawer EQU 20
- MUII_PropKnob EQU 21
- MUII_Drawer EQU 22
- MUII_HardDisk EQU 23
- MUII_Disk EQU 24
- MUII_Chip EQU 25
- MUII_Volume EQU 26
- MUII_PopUpBack EQU 27
- MUII_Network EQU 28
- MUII_Assign EQU 29
- MUII_TapePlay EQU 30
- MUII_TapePlayBack EQU 31
- MUII_TapePause EQU 32
- MUII_TapeStop EQU 33
- MUII_TapeRecord EQU 34
- MUII_GroupBack EQU 35
- MUII_SliderBack EQU 36
- MUII_SliderKnob EQU 37
- MUII_TapeUp EQU 38
- MUII_TapeDown EQU 39
- MUII_Count EQU 40
-
- MUII_BACKGROUND EQU (128+0)
- MUII_SHADOW EQU (128+1)
- MUII_SHINE EQU (128+2)
- MUII_FILL EQU (128+3)
- MUII_SHADOWBACK EQU (128+4)
- MUII_SHADOWFILL EQU (128+5)
- MUII_SHADOWSHINE EQU (128+6)
- MUII_FILLBACK EQU (128+7)
- MUII_FILLSHINE EQU (128+8)
- MUII_SHINEBACK EQU (128+9)
- MUII_FILLBACK2 EQU (128+10)
- MUII_HSHINEBACK EQU (128+11)
- MUII_HSHADOWBACK EQU (128+12)
- MUII_HSHINESHINE EQU (128+13)
- MUII_HSHADOWSHADOW EQU (128+14)
- MUII_LASTPAT EQU (128+15)
-
-
- ****************************************************************************
- ** Special values for some methods
- ****************************************************************************
-
- MUIV_TriggerValue EQU $49893131
- MUIV_NotTriggerValue EQU $49893133
- MUIV_EveryTime EQU $49893131
-
- MUIV_Application_Save_ENV EQU 0
- MUIV_Application_Save_ENVARC EQU ~0
- MUIV_Application_Load_ENV EQU 0
- MUIV_Application_Load_ENVARC EQU ~0
-
- MUIV_Application_ReturnID_Quit EQU -1
-
- MUIV_List_Insert_Top EQU 0
- MUIV_List_Insert_Active EQU -1
- MUIV_List_Insert_Sorted EQU -2
- MUIV_List_Insert_Bottom EQU -3
-
- MUIV_List_Remove_First EQU 0
- MUIV_List_Remove_Active EQU -1
- MUIV_List_Remove_Last EQU -2
-
- MUIV_List_Select_Off EQU 0
- MUIV_List_Select_On EQU 1
- MUIV_List_Select_Toggle EQU 2
- MUIV_List_Select_Ask EQU 3
-
- MUIV_List_GetEntry_Active EQU -1
- MUIV_List_Select_Active EQU -1
- MUIV_List_Select_All EQU -2
-
- MUIV_List_Redraw_Active EQU -1
- MUIV_List_Redraw_All EQU -2
-
- MUIV_List_Move_Top EQU 0
- MUIV_List_Move_Active EQU -1
- MUIV_List_Move_Bottom EQU -2
- MUIV_List_Move_Next EQU -3 * only valid for second parameter
- MUIV_List_Move_Previous EQU -4 * only valid for second parameter
-
- MUIV_List_Exchange_Top EQU 0
- MUIV_List_Exchange_Active EQU -1
- MUIV_List_Exchange_Bottom EQU -2
- MUIV_List_Exchange_Next EQU -3 * only valid for second parameter
- MUIV_List_Exchange_Previous EQU -4 * only valid for second parameter
-
- MUIV_List_Jump_Top EQU 0
- MUIV_List_Jump_Active EQU -1
- MUIV_List_Jump_Bottom EQU -2
-
- MUIV_Colorpanel_GetColor_Active EQU -1
- MUIV_Colorpanel_SetColor_Active EQU -1
-
- MUIV_List_NextSelected_Start EQU -1
- MUIV_List_NextSelected_End EQU -1
-
-
- ***************************************************************************
- ** Parameter structures for some classes
- ***************************************************************************/
-
- STRUCTURE MUI_Palette_Entry,0
- LONG mpe_ID
- LONG mpe_Red
- LONG mpe_Green
- LONG mpe_Blue
- LONG mpe_Group
- LABEL MUI_Palette_Entry_SIZEOF
-
- MUIV_Palette_Entry_End EQU -1
-
-
- STRUCTURE MUI_Scrmodelist_Entry,0
- APTR sme_Name
- LONG sme_ModeID
- LABEL MUI_Scrmodelist_Entry_SIZEOF
-
-
-
-
-
- ;*********************************************
- ;** Begin of automatic header file creation **
- ;*********************************************
-
-
-
-
- ;****************************************************************************
- ;** Notify **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_CallHook EQU $8042b96b ;** V4 **
- MUIM_FindUData EQU $8042c196 ;** V8 **
- MUIM_GetUData EQU $8042ed0c ;** V8 **
- MUIM_KillNotify EQU $8042d240 ;** V4 **
- MUIM_MultiSet EQU $8042d356 ;** V7 **
- MUIM_NoNotifySet EQU $8042216f ;** V9 **
- MUIM_Notify EQU $8042c9cb ;** V4 **
- MUIM_Set EQU $8042549a ;** V4 **
- MUIM_SetAsString EQU $80422590 ;** V4 **
- MUIM_SetUData EQU $8042c920 ;** V8 **
- MUIM_WriteLong EQU $80428d86 ;** V6 **
- MUIM_WriteString EQU $80424bf4 ;** V6 **
-
- ;** Attributes **
-
- MUIA_AppMessage EQU $80421955 ;** V5 ..g struct AppMessage * **
- MUIA_HelpFile EQU $80423a6e ;** V4 isg STRPTR **
- MUIA_HelpLine EQU $8042a825 ;** V4 isg LONG **
- MUIA_HelpNode EQU $80420b85 ;** V4 isg STRPTR **
- MUIA_NoNotify EQU $804237f9 ;** V7 .s. BOOL **
- MUIA_Revision EQU $80427eaa ;** V4 ..g LONG **
- MUIA_UserData EQU $80420313 ;** V4 isg ULONG **
- MUIA_Version EQU $80422301 ;** V4 ..g LONG **
-
-
-
- ;****************************************************************************
- ;** Family **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_Family_AddHead EQU $8042e200 ;** V8 **
- MUIM_Family_AddTail EQU $8042d752 ;** V8 **
- MUIM_Family_Insert EQU $80424d34 ;** V8 **
- MUIM_Family_Remove EQU $8042f8a9 ;** V8 **
- MUIM_Family_Sort EQU $80421c49 ;** V8 **
- MUIM_Family_Transfer EQU $8042c14a ;** V8 **
-
- ;** Attributes **
-
- MUIA_Family_Child EQU $8042c696 ;** V8 i.. Object * **
-
-
-
- ;****************************************************************************
- ;** Menustrip **
- ;****************************************************************************
-
- ;** Methods **
-
-
- ;** Attributes **
-
- MUIA_Menustrip_Enabled EQU $8042815b ;** V8 isg BOOL **
-
-
-
- ;****************************************************************************
- ;** Menu **
- ;****************************************************************************
-
- ;** Methods **
-
-
- ;** Attributes **
-
- MUIA_Menu_Enabled EQU $8042ed48 ;** V8 isg BOOL **
- MUIA_Menu_Title EQU $8042a0e3 ;** V8 isg STRPTR **
-
-
-
- ;****************************************************************************
- ;** Menuitem **
- ;****************************************************************************
-
- ;** Methods **
-
-
- ;** Attributes **
-
- MUIA_Menuitem_Checked EQU $8042562a ;** V8 isg BOOL **
- MUIA_Menuitem_Checkit EQU $80425ace ;** V8 isg BOOL **
- MUIA_Menuitem_Enabled EQU $8042ae0f ;** V8 isg BOOL **
- MUIA_Menuitem_Exclude EQU $80420bc6 ;** V8 isg LONG **
- MUIA_Menuitem_Shortcut EQU $80422030 ;** V8 isg char **
- MUIA_Menuitem_Title EQU $804218be ;** V8 isg STRPTR **
- MUIA_Menuitem_Toggle EQU $80424d5c ;** V8 isg BOOL **
- MUIA_Menuitem_Trigger EQU $80426f32 ;** V8 ..g struct MenuItem * **
-
-
-
- ;****************************************************************************
- ;** Application **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_Application_GetMenuCheck EQU $8042c0a7 ;** V4 **
- MUIM_Application_GetMenuState EQU $8042a58f ;** V4 **
- MUIM_Application_Input EQU $8042d0f5 ;** V4 **
- MUIM_Application_InputBuffered EQU $80427e59 ;** V4 **
- MUIM_Application_Load EQU $8042f90d ;** V4 **
- MUIM_Application_PushMethod EQU $80429ef8 ;** V4 **
- MUIM_Application_ReturnID EQU $804276ef ;** V4 **
- MUIM_Application_Save EQU $804227ef ;** V4 **
- MUIM_Application_SetMenuCheck EQU $8042a707 ;** V4 **
- MUIM_Application_SetMenuState EQU $80428bef ;** V4 **
- MUIM_Application_ShowHelp EQU $80426479 ;** V4 **
-
- ;** Attributes **
-
- MUIA_Application_Active EQU $804260ab ;** V4 isg BOOL **
- MUIA_Application_Author EQU $80424842 ;** V4 i.g STRPTR **
- MUIA_Application_Base EQU $8042e07a ;** V4 i.g STRPTR **
- MUIA_Application_Broker EQU $8042dbce ;** V4 ..g Broker * **
- MUIA_Application_BrokerHook EQU $80428f4b ;** V4 isg struct Hook * **
- MUIA_Application_BrokerPort EQU $8042e0ad ;** V6 ..g struct MsgPort * **
- MUIA_Application_BrokerPri EQU $8042c8d0 ;** V6 i.g LONG **
- MUIA_Application_Commands EQU $80428648 ;** V4 isg struct MUI_Command * **
- MUIA_Application_Copyright EQU $8042ef4d ;** V4 i.g STRPTR **
- MUIA_Application_Description EQU $80421fc6 ;** V4 i.g STRPTR **
- MUIA_Application_DiskObject EQU $804235cb ;** V4 isg struct DiskObject * **
- MUIA_Application_DoubleStart EQU $80423bc6 ;** V4 ..g BOOL **
- MUIA_Application_DropObject EQU $80421266 ;** V5 is. Object * **
- MUIA_Application_ForceQuit EQU $804257df ;** V8 ..g BOOL **
- MUIA_Application_HelpFile EQU $804293f4 ;** V8 isg STRPTR **
- MUIA_Application_Iconified EQU $8042a07f ;** V4 .sg BOOL **
- MUIA_Application_Menu EQU $80420e1f ;** V4 i.g struct NewMenu * **
- MUIA_Application_MenuAction EQU $80428961 ;** V4 ..g ULONG **
- MUIA_Application_MenuHelp EQU $8042540b ;** V4 ..g ULONG **
- MUIA_Application_Menustrip EQU $804252d9 ;** V8 i.. Object * **
- MUIA_Application_RexxHook EQU $80427c42 ;** V7 isg struct Hook * **
- MUIA_Application_RexxMsg EQU $8042fd88 ;** V4 ..g struct RxMsg * **
- MUIA_Application_RexxString EQU $8042d711 ;** V4 .s. STRPTR **
- MUIA_Application_SingleTask EQU $8042a2c8 ;** V4 i.. BOOL **
- MUIA_Application_Sleep EQU $80425711 ;** V4 .s. BOOL **
- MUIA_Application_Title EQU $804281b8 ;** V4 i.g STRPTR **
- MUIA_Application_UseCommodities EQU $80425ee5 ;** V10 i.. BOOL **
- MUIA_Application_UseRexx EQU $80422387 ;** V10 i.. BOOL **
- MUIA_Application_Version EQU $8042b33f ;** V4 i.g STRPTR **
- MUIA_Application_Window EQU $8042bfe0 ;** V4 i.. Object * **
-
-
-
- ;****************************************************************************
- ;** Window **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_Window_GetMenuCheck EQU $80420414 ;** V4 **
- MUIM_Window_GetMenuState EQU $80420d2f ;** V4 **
- MUIM_Window_ScreenToBack EQU $8042913d ;** V4 **
- MUIM_Window_ScreenToFront EQU $804227a4 ;** V4 **
- MUIM_Window_SetCycleChain EQU $80426510 ;** V4 **
- MUIM_Window_SetMenuCheck EQU $80422243 ;** V4 **
- MUIM_Window_SetMenuState EQU $80422b5e ;** V4 **
- MUIM_Window_ToBack EQU $8042152e ;** V4 **
- MUIM_Window_ToFront EQU $8042554f ;** V4 **
-
- ;** Attributes **
-
- MUIA_Window_Activate EQU $80428d2f ;** V4 isg BOOL **
- MUIA_Window_ActiveObject EQU $80427925 ;** V4 .sg Object * **
- MUIA_Window_AltHeight EQU $8042cce3 ;** V4 i.g LONG **
- MUIA_Window_AltLeftEdge EQU $80422d65 ;** V4 i.g LONG **
- MUIA_Window_AltTopEdge EQU $8042e99b ;** V4 i.g LONG **
- MUIA_Window_AltWidth EQU $804260f4 ;** V4 i.g LONG **
- MUIA_Window_AppWindow EQU $804280cf ;** V5 i.. BOOL **
- MUIA_Window_Backdrop EQU $8042c0bb ;** V4 i.. BOOL **
- MUIA_Window_Borderless EQU $80429b79 ;** V4 i.. BOOL **
- MUIA_Window_CloseGadget EQU $8042a110 ;** V4 i.. BOOL **
- MUIA_Window_CloseRequest EQU $8042e86e ;** V4 ..g BOOL **
- MUIA_Window_DefaultObject EQU $804294d7 ;** V4 isg Object * **
- MUIA_Window_DepthGadget EQU $80421923 ;** V4 i.. BOOL **
- MUIA_Window_DragBar EQU $8042045d ;** V4 i.. BOOL **
- MUIA_Window_FancyDrawing EQU $8042bd0e ;** V8 isg BOOL **
- MUIA_Window_Height EQU $80425846 ;** V4 i.g LONG **
- MUIA_Window_ID EQU $804201bd ;** V4 isg ULONG **
- MUIA_Window_InputEvent EQU $804247d8 ;** V4 ..g struct InputEvent * **
- MUIA_Window_LeftEdge EQU $80426c65 ;** V4 i.g LONG **
- MUIA_Window_Menu EQU $8042db94 ;** V4 i.. struct NewMenu * **
- MUIA_Window_MenuAction EQU $80427521 ;** V8 isg ULONG **
- MUIA_Window_Menustrip EQU $8042855e ;** V8 i.. Object * **
- MUIA_Window_MouseObject EQU $8042bf9b ;** V10 ..g Object * **
- MUIA_Window_NeedsMouseObject EQU $8042372a ;** V10 i.. BOOL **
- MUIA_Window_NoMenus EQU $80429df5 ;** V4 is. BOOL **
- MUIA_Window_Open EQU $80428aa0 ;** V4 .sg BOOL **
- MUIA_Window_PublicScreen EQU $804278e4 ;** V6 isg STRPTR **
- MUIA_Window_RefWindow EQU $804201f4 ;** V4 is. Object * **
- MUIA_Window_RootObject EQU $8042cba5 ;** V4 i.. Object * **
- MUIA_Window_Screen EQU $8042df4f ;** V4 isg struct Screen * **
- MUIA_Window_ScreenTitle EQU $804234b0 ;** V5 isg STRPTR **
- MUIA_Window_SizeGadget EQU $8042e33d ;** V4 i.. BOOL **
- MUIA_Window_SizeRight EQU $80424780 ;** V4 i.. BOOL **
- MUIA_Window_Sleep EQU $8042e7db ;** V4 .sg BOOL **
- MUIA_Window_Title EQU $8042ad3d ;** V4 isg STRPTR **
- MUIA_Window_TopEdge EQU $80427c66 ;** V4 i.g LONG **
- MUIA_Window_Width EQU $8042dcae ;** V4 i.g LONG **
- MUIA_Window_Window EQU $80426a42 ;** V4 ..g struct Window * **
-
- MUIV_Window_ActiveObjectNone EQU 0
- MUIV_Window_ActiveObjectNext EQU -1
- MUIV_Window_ActiveObjectPrev EQU -2
- MUIV_Window_AltHeightMinMax EQU 0
- MUIV_Window_AltHeightVisible EQU -100
- MUIV_Window_AltHeightScreen EQU -200
- MUIV_Window_AltHeightScaled EQU -1000
- MUIV_Window_AltLeftEdgeCentered EQU -1
- MUIV_Window_AltLeftEdgeMoused EQU -2
- MUIV_Window_AltLeftEdgeNoChange EQU -1000
- MUIV_Window_AltTopEdgeCentered EQU -1
- MUIV_Window_AltTopEdgeMoused EQU -2
- MUIV_Window_AltTopEdgeDelta EQU -3
- MUIV_Window_AltTopEdgeNoChange EQU -1000
- MUIV_Window_AltWidthMinMax EQU 0
- MUIV_Window_AltWidthVisible EQU -100
- MUIV_Window_AltWidthScreen EQU -200
- MUIV_Window_AltWidthScaled EQU -1000
- MUIV_Window_HeightMinMax EQU 0
- MUIV_Window_HeightVisible EQU -100
- MUIV_Window_HeightScreen EQU -200
- MUIV_Window_HeightScaled EQU -1000
- MUIV_Window_HeightDefault EQU -1001
- MUIV_Window_LeftEdgeCentered EQU -1
- MUIV_Window_LeftEdgeMoused EQU -2
- MUIV_Window_MenuNoMenu EQU -1
- MUIV_Window_TopEdgeCentered EQU -1
- MUIV_Window_TopEdgeMoused EQU -2
- MUIV_Window_TopEdgeDelta EQU -3
- MUIV_Window_WidthMinMax EQU 0
- MUIV_Window_WidthVisible EQU -100
- MUIV_Window_WidthScreen EQU -200
- MUIV_Window_WidthScaled EQU -1000
- MUIV_Window_WidthDefault EQU -1001
-
-
- ;****************************************************************************
- ;** Area **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_AskMinMax EQU $80423874 ;** V4 **
- MUIM_Cleanup EQU $8042d985 ;** V4 **
- MUIM_Draw EQU $80426f3f ;** V4 **
- MUIM_HandleInput EQU $80422a1a ;** V4 **
- MUIM_Hide EQU $8042f20f ;** V4 **
- MUIM_Setup EQU $80428354 ;** V4 **
- MUIM_Show EQU $8042cc84 ;** V4 **
-
- ;** Attributes **
-
- MUIA_ApplicationObject EQU $8042d3ee ;** V4 ..g Object * **
- MUIA_Background EQU $8042545b ;** V4 is. LONG **
- MUIA_BottomEdge EQU $8042e552 ;** V4 ..g LONG **
- MUIA_ControlChar EQU $8042120b ;** V4 i.. char **
- MUIA_Disabled EQU $80423661 ;** V4 isg BOOL **
- MUIA_ExportID EQU $8042d76e ;** V4 isg LONG **
- MUIA_FixHeight EQU $8042a92b ;** V4 i.. LONG **
- MUIA_FixHeightTxt EQU $804276f2 ;** V4 i.. LONG **
- MUIA_FixWidth EQU $8042a3f1 ;** V4 i.. LONG **
- MUIA_FixWidthTxt EQU $8042d044 ;** V4 i.. STRPTR **
- MUIA_Font EQU $8042be50 ;** V4 i.g struct TextFont * **
- MUIA_Frame EQU $8042ac64 ;** V4 i.. LONG **
- MUIA_FramePhantomHoriz EQU $8042ed76 ;** V4 i.. BOOL **
- MUIA_FrameTitle EQU $8042d1c7 ;** V4 i.. STRPTR **
- MUIA_Height EQU $80423237 ;** V4 ..g LONG **
- MUIA_HorizWeight EQU $80426db9 ;** V4 i.. WORD **
- MUIA_InnerBottom EQU $8042f2c0 ;** V4 i.. LONG **
- MUIA_InnerLeft EQU $804228f8 ;** V4 i.. LONG **
- MUIA_InnerRight EQU $804297ff ;** V4 i.. LONG **
- MUIA_InnerTop EQU $80421eb6 ;** V4 i.. LONG **
- MUIA_InputMode EQU $8042fb04 ;** V4 i.. LONG **
- MUIA_LeftEdge EQU $8042bec6 ;** V4 ..g LONG **
- MUIA_Pressed EQU $80423535 ;** V4 ..g BOOL **
- MUIA_RightEdge EQU $8042ba82 ;** V4 ..g LONG **
- MUIA_Selected EQU $8042654b ;** V4 isg BOOL **
- MUIA_ShowMe EQU $80429ba8 ;** V4 isg BOOL **
- MUIA_ShowSelState EQU $8042caac ;** V4 i.. BOOL **
- MUIA_Timer EQU $80426435 ;** V4 ..g LONG **
- MUIA_TopEdge EQU $8042509b ;** V4 ..g LONG **
- MUIA_VertWeight EQU $804298d0 ;** V4 i.. WORD **
- MUIA_Weight EQU $80421d1f ;** V4 i.. WORD **
- MUIA_Width EQU $8042b59c ;** V4 ..g LONG **
- MUIA_Window EQU $80421591 ;** V4 ..g struct Window * **
- MUIA_WindowObject EQU $8042669e ;** V4 ..g Object * **
-
- MUIV_FontInherit EQU 0
- MUIV_FontNormal EQU -1
- MUIV_FontList EQU -2
- MUIV_FontTiny EQU -3
- MUIV_FontFixed EQU -4
- MUIV_FontTitle EQU -5
- MUIV_FontBig EQU -6
- MUIV_FrameNone EQU 0
- MUIV_FrameButton EQU 1
- MUIV_FrameImageButton EQU 2
- MUIV_FrameText EQU 3
- MUIV_FrameString EQU 4
- MUIV_FrameReadList EQU 5
- MUIV_FrameInputList EQU 6
- MUIV_FrameProp EQU 7
- MUIV_FrameGauge EQU 8
- MUIV_FrameGroup EQU 9
- MUIV_FramePopUp EQU 10
- MUIV_FrameVirtual EQU 11
- MUIV_FrameSlider EQU 12
- MUIV_FrameCount EQU 13
- MUIV_InputModeNone EQU 0
- MUIV_InputModeRelVerify EQU 1
- MUIV_InputModeImmediate EQU 2
- MUIV_InputModeToggle EQU 3
-
-
- ;****************************************************************************
- ;** Rectangle **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Rectangle_HBar EQU $8042c943 ;** V7 i.g BOOL **
- MUIA_Rectangle_VBar EQU $80422204 ;** V7 i.g BOOL **
-
-
-
- ;****************************************************************************
- ;** Image **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Image_FontMatch EQU $8042815d ;** V4 i.. BOOL **
- MUIA_Image_FontMatchHeight EQU $80429f26 ;** V4 i.. BOOL **
- MUIA_Image_FontMatchWidth EQU $804239bf ;** V4 i.. BOOL **
- MUIA_Image_FreeHoriz EQU $8042da84 ;** V4 i.. BOOL **
- MUIA_Image_FreeVert EQU $8042ea28 ;** V4 i.. BOOL **
- MUIA_Image_OldImage EQU $80424f3d ;** V4 i.. struct Image * **
- MUIA_Image_Spec EQU $804233d5 ;** V4 i.. char * **
- MUIA_Image_State EQU $8042a3ad ;** V4 is. LONG **
-
-
-
- ;****************************************************************************
- ;** Bitmap **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Bitmap_Bitmap EQU $804279bd ;** V8 isg struct BitMap * **
- MUIA_Bitmap_Height EQU $80421560 ;** V8 isg LONG **
- MUIA_Bitmap_MappingTable EQU $8042e23d ;** V8 isg UBYTE * **
- MUIA_Bitmap_SourceColors EQU $80425360 ;** V8 isg ULONG * **
- MUIA_Bitmap_Transparent EQU $80422805 ;** V8 isg LONG **
- MUIA_Bitmap_Width EQU $8042eb3a ;** V8 isg LONG **
-
-
-
- ;****************************************************************************
- ;** Bodychunk **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Bodychunk_Body EQU $8042ca67 ;** V8 isg UBYTE * **
- MUIA_Bodychunk_Compression EQU $8042de5f ;** V8 isg UBYTE **
- MUIA_Bodychunk_Depth EQU $8042c392 ;** V8 isg LONG **
- MUIA_Bodychunk_Masking EQU $80423b0e ;** V8 isg UBYTE **
-
-
-
- ;****************************************************************************
- ;** Text **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Text_Contents EQU $8042f8dc ;** V4 isg STRPTR **
- MUIA_Text_HiChar EQU $804218ff ;** V4 i.. char **
- MUIA_Text_PreParse EQU $8042566d ;** V4 isg STRPTR **
- MUIA_Text_SetMax EQU $80424d0a ;** V4 i.. BOOL **
- MUIA_Text_SetMin EQU $80424e10 ;** V4 i.. BOOL **
-
-
-
- ;****************************************************************************
- ;** String **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_String_Accept EQU $8042e3e1 ;** V4 isg STRPTR **
- MUIA_String_Acknowledge EQU $8042026c ;** V4 ..g STRPTR **
- MUIA_String_AttachedList EQU $80420fd2 ;** V4 i.. Object * **
- MUIA_String_BufferPos EQU $80428b6c ;** V4 .sg LONG **
- MUIA_String_Contents EQU $80428ffd ;** V4 isg STRPTR **
- MUIA_String_DisplayPos EQU $8042ccbf ;** V4 .sg LONG **
- MUIA_String_EditHook EQU $80424c33 ;** V7 isg struct Hook * **
- MUIA_String_Format EQU $80427484 ;** V4 i.g LONG **
- MUIA_String_Integer EQU $80426e8a ;** V4 isg ULONG **
- MUIA_String_MaxLen EQU $80424984 ;** V4 i.g LONG **
- MUIA_String_Reject EQU $8042179c ;** V4 isg STRPTR **
- MUIA_String_Secret EQU $80428769 ;** V4 i.g BOOL **
-
- MUIV_String_FormatLeft EQU 0
- MUIV_String_FormatCenter EQU 1
- MUIV_String_FormatRight EQU 2
-
-
- ;****************************************************************************
- ;** Prop **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Prop_Entries EQU $8042fbdb ;** V4 isg LONG **
- MUIA_Prop_First EQU $8042d4b2 ;** V4 isg LONG **
- MUIA_Prop_Horiz EQU $8042f4f3 ;** V4 i.g BOOL **
- MUIA_Prop_Slider EQU $80429c3a ;** V4 isg BOOL **
- MUIA_Prop_Visible EQU $8042fea6 ;** V4 isg LONG **
-
-
-
- ;****************************************************************************
- ;** Gauge **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Gauge_Current EQU $8042f0dd ;** V4 isg LONG **
- MUIA_Gauge_Divide EQU $8042d8df ;** V4 isg BOOL **
- MUIA_Gauge_Horiz EQU $804232dd ;** V4 i.. BOOL **
- MUIA_Gauge_InfoText EQU $8042bf15 ;** V7 isg char * **
- MUIA_Gauge_Max EQU $8042bcdb ;** V4 isg LONG **
-
-
-
- ;****************************************************************************
- ;** Scale **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Scale_Horiz EQU $8042919a ;** V4 isg BOOL **
-
-
-
- ;****************************************************************************
- ;** Boopsi **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Boopsi_Class EQU $80426999 ;** V4 isg struct IClass * **
- MUIA_Boopsi_ClassID EQU $8042bfa3 ;** V4 isg char * **
- MUIA_Boopsi_MaxHeight EQU $8042757f ;** V4 isg ULONG **
- MUIA_Boopsi_MaxWidth EQU $8042bcb1 ;** V4 isg ULONG **
- MUIA_Boopsi_MinHeight EQU $80422c93 ;** V4 isg ULONG **
- MUIA_Boopsi_MinWidth EQU $80428fb2 ;** V4 isg ULONG **
- MUIA_Boopsi_Object EQU $80420178 ;** V4 ..g Object * **
- MUIA_Boopsi_Remember EQU $8042f4bd ;** V4 i.. ULONG **
- MUIA_Boopsi_Smart EQU $8042b8d7 ;** V9 i.. BOOL **
- MUIA_Boopsi_TagDrawInfo EQU $8042bae7 ;** V4 isg ULONG **
- MUIA_Boopsi_TagScreen EQU $8042bc71 ;** V4 isg ULONG **
- MUIA_Boopsi_TagWindow EQU $8042e11d ;** V4 isg ULONG **
-
-
-
- ;****************************************************************************
- ;** Colorfield **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Colorfield_Blue EQU $8042d3b0 ;** V4 isg ULONG **
- MUIA_Colorfield_Green EQU $80424466 ;** V4 isg ULONG **
- MUIA_Colorfield_Pen EQU $8042713a ;** V4 ..g ULONG **
- MUIA_Colorfield_Red EQU $804279f6 ;** V4 isg ULONG **
- MUIA_Colorfield_RGB EQU $8042677a ;** V4 isg ULONG * **
-
-
-
- ;****************************************************************************
- ;** List **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_List_Clear EQU $8042ad89 ;** V4 **
- MUIM_List_Exchange EQU $8042468c ;** V4 **
- MUIM_List_GetEntry EQU $804280ec ;** V4 **
- MUIM_List_Insert EQU $80426c87 ;** V4 **
- MUIM_List_InsertSingle EQU $804254d5 ;** V7 **
- MUIM_List_Jump EQU $8042baab ;** V4 **
- MUIM_List_Move EQU $804253c2 ;** V9 **
- MUIM_List_NextSelected EQU $80425f17 ;** V6 **
- MUIM_List_Redraw EQU $80427993 ;** V4 **
- MUIM_List_Remove EQU $8042647e ;** V4 **
- MUIM_List_Select EQU $804252d8 ;** V4 **
- MUIM_List_Sort EQU $80422275 ;** V4 **
-
- ;** Attributes **
-
- MUIA_List_Active EQU $8042391c ;** V4 isg LONG **
- MUIA_List_AdjustHeight EQU $8042850d ;** V4 i.. BOOL **
- MUIA_List_AdjustWidth EQU $8042354a ;** V4 i.. BOOL **
- MUIA_List_CompareHook EQU $80425c14 ;** V4 is. struct Hook * **
- MUIA_List_ConstructHook EQU $8042894f ;** V4 is. struct Hook * **
- MUIA_List_DestructHook EQU $804297ce ;** V4 is. struct Hook * **
- MUIA_List_DisplayHook EQU $8042b4d5 ;** V4 is. struct Hook * **
- MUIA_List_Entries EQU $80421654 ;** V4 ..g LONG **
- MUIA_List_First EQU $804238d4 ;** V4 ..g LONG **
- MUIA_List_Format EQU $80423c0a ;** V4 isg STRPTR **
- MUIA_List_InsertPosition EQU $8042d0cd ;** V9 ..g LONG **
- MUIA_List_MultiTestHook EQU $8042c2c6 ;** V4 is. struct Hook * **
- MUIA_List_Quiet EQU $8042d8c7 ;** V4 .s. BOOL **
- MUIA_List_SourceArray EQU $8042c0a0 ;** V4 i.. APTR **
- MUIA_List_Title EQU $80423e66 ;** V6 isg char * **
- MUIA_List_Visible EQU $8042191f ;** V4 ..g LONG **
-
- MUIV_List_ActiveOff EQU -1
- MUIV_List_ActiveTop EQU -2
- MUIV_List_ActiveBottom EQU -3
- MUIV_List_ActiveUp EQU -4
- MUIV_List_ActiveDown EQU -5
- MUIV_List_ActivePageUp EQU -6
- MUIV_List_ActivePageDown EQU -7
- MUIV_List_ConstructHookString EQU -1
- MUIV_List_DestructHookString EQU -1
-
-
- ;****************************************************************************
- ;** Floattext **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Floattext_Justify EQU $8042dc03 ;** V4 isg BOOL **
- MUIA_Floattext_SkipChars EQU $80425c7d ;** V4 is. STRPTR **
- MUIA_Floattext_TabSize EQU $80427d17 ;** V4 is. LONG **
- MUIA_Floattext_Text EQU $8042d16a ;** V4 isg STRPTR **
-
-
-
- ;****************************************************************************
- ;** Volumelist **
- ;****************************************************************************
-
-
- ;****************************************************************************
- ;** Scrmodelist **
- ;****************************************************************************
-
- ;** Attributes **
-
-
-
-
- ;****************************************************************************
- ;** Dirlist **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_Dirlist_ReRead EQU $80422d71 ;** V4 **
-
- ;** Attributes **
-
- MUIA_Dirlist_AcceptPattern EQU $8042760a ;** V4 is. STRPTR **
- MUIA_Dirlist_Directory EQU $8042ea41 ;** V4 isg STRPTR **
- MUIA_Dirlist_DrawersOnly EQU $8042b379 ;** V4 is. BOOL **
- MUIA_Dirlist_FilesOnly EQU $8042896a ;** V4 is. BOOL **
- MUIA_Dirlist_FilterDrawers EQU $80424ad2 ;** V4 is. BOOL **
- MUIA_Dirlist_FilterHook EQU $8042ae19 ;** V4 is. struct Hook * **
- MUIA_Dirlist_MultiSelDirs EQU $80428653 ;** V6 is. BOOL **
- MUIA_Dirlist_NumBytes EQU $80429e26 ;** V4 ..g LONG **
- MUIA_Dirlist_NumDrawers EQU $80429cb8 ;** V4 ..g LONG **
- MUIA_Dirlist_NumFiles EQU $8042a6f0 ;** V4 ..g LONG **
- MUIA_Dirlist_Path EQU $80426176 ;** V4 ..g STRPTR **
- MUIA_Dirlist_RejectIcons EQU $80424808 ;** V4 is. BOOL **
- MUIA_Dirlist_RejectPattern EQU $804259c7 ;** V4 is. STRPTR **
- MUIA_Dirlist_SortDirs EQU $8042bbb9 ;** V4 is. LONG **
- MUIA_Dirlist_SortHighLow EQU $80421896 ;** V4 is. BOOL **
- MUIA_Dirlist_SortType EQU $804228bc ;** V4 is. LONG **
- MUIA_Dirlist_Status EQU $804240de ;** V4 ..g LONG **
-
- MUIV_Dirlist_SortDirsFirst EQU 0
- MUIV_Dirlist_SortDirsLast EQU 1
- MUIV_Dirlist_SortDirsMix EQU 2
- MUIV_Dirlist_SortTypeName EQU 0
- MUIV_Dirlist_SortTypeDate EQU 1
- MUIV_Dirlist_SortTypeSize EQU 2
- MUIV_Dirlist_StatusInvalid EQU 0
- MUIV_Dirlist_StatusReading EQU 1
- MUIV_Dirlist_StatusValid EQU 2
-
-
- ;****************************************************************************
- ;** Group **
- ;****************************************************************************
-
- ;** Methods **
-
-
- ;** Attributes **
-
- MUIA_Group_ActivePage EQU $80424199 ;** V5 isg LONG **
- MUIA_Group_Child EQU $804226e6 ;** V4 i.. Object * **
- MUIA_Group_Columns EQU $8042f416 ;** V4 is. LONG **
- MUIA_Group_Horiz EQU $8042536b ;** V4 i.. BOOL **
- MUIA_Group_HorizSpacing EQU $8042c651 ;** V4 is. LONG **
- MUIA_Group_PageMode EQU $80421a5f ;** V5 is. BOOL **
- MUIA_Group_Rows EQU $8042b68f ;** V4 is. LONG **
- MUIA_Group_SameHeight EQU $8042037e ;** V4 i.. BOOL **
- MUIA_Group_SameSize EQU $80420860 ;** V4 i.. BOOL **
- MUIA_Group_SameWidth EQU $8042b3ec ;** V4 i.. BOOL **
- MUIA_Group_Spacing EQU $8042866d ;** V4 is. LONG **
- MUIA_Group_VertSpacing EQU $8042e1bf ;** V4 is. LONG **
-
- MUIV_Group_ActivePageFirst EQU 0
- MUIV_Group_ActivePageLast EQU -1
- MUIV_Group_ActivePagePrev EQU -2
- MUIV_Group_ActivePageNext EQU -3
-
-
- ;****************************************************************************
- ;** Register **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Register_Frame EQU $8042349b ;** V7 i.g BOOL **
- MUIA_Register_Titles EQU $804297ec ;** V7 i.g STRPTR * **
-
-
-
- ;****************************************************************************
- ;** Virtgroup **
- ;****************************************************************************
-
- ;** Methods **
-
-
- ;** Attributes **
-
- MUIA_Virtgroup_Height EQU $80423038 ;** V6 ..g LONG **
- MUIA_Virtgroup_Left EQU $80429371 ;** V6 isg LONG **
- MUIA_Virtgroup_Top EQU $80425200 ;** V6 isg LONG **
- MUIA_Virtgroup_Width EQU $80427c49 ;** V6 ..g LONG **
-
-
-
- ;****************************************************************************
- ;** Scrollgroup **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Scrollgroup_Contents EQU $80421261 ;** V4 i.. Object * **
- MUIA_Scrollgroup_FreeHoriz EQU $804292f3 ;** V9 i.. BOOL **
- MUIA_Scrollgroup_FreeVert EQU $804224f2 ;** V9 i.. BOOL **
-
-
-
- ;****************************************************************************
- ;** Scrollbar **
- ;****************************************************************************
-
-
- ;****************************************************************************
- ;** Listview **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Listview_ClickColumn EQU $8042d1b3 ;** V7 ..g LONG **
- MUIA_Listview_DefClickColumn EQU $8042b296 ;** V7 isg LONG **
- MUIA_Listview_DoubleClick EQU $80424635 ;** V4 i.g BOOL **
- MUIA_Listview_Input EQU $8042682d ;** V4 i.. BOOL **
- MUIA_Listview_List EQU $8042bcce ;** V4 i.. Object * **
- MUIA_Listview_MultiSelect EQU $80427e08 ;** V7 i.. LONG **
- MUIA_Listview_ScrollerPos EQU $8042b1b4 ;** V10 i.. BOOL **
- MUIA_Listview_SelectChange EQU $8042178f ;** V4 ..g BOOL **
-
- MUIV_Listview_MultiSelectNone EQU 0
- MUIV_Listview_MultiSelectDefaul EQU 1
- MUIV_Listview_MultiSelectShifte EQU 2
- MUIV_Listview_MultiSelectAlways EQU 3
- MUIV_Listview_ScrollerPosDefaul EQU 0
- MUIV_Listview_ScrollerPosLeft EQU 1
- MUIV_Listview_ScrollerPosRight EQU 2
-
-
- ;****************************************************************************
- ;** Radio **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Radio_Active EQU $80429b41 ;** V4 isg LONG **
- MUIA_Radio_Entries EQU $8042b6a1 ;** V4 i.. STRPTR * **
-
-
-
- ;****************************************************************************
- ;** Cycle **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Cycle_Active EQU $80421788 ;** V4 isg LONG **
- MUIA_Cycle_Entries EQU $80420629 ;** V4 i.. STRPTR * **
-
- MUIV_Cycle_ActiveNext EQU -1
- MUIV_Cycle_ActivePrev EQU -2
-
-
- ;****************************************************************************
- ;** Slider **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Slider_Level EQU $8042ae3a ;** V4 isg LONG **
- MUIA_Slider_Max EQU $8042d78a ;** V4 isg LONG **
- MUIA_Slider_Min EQU $8042e404 ;** V4 isg LONG **
- MUIA_Slider_Quiet EQU $80420b26 ;** V6 i.. BOOL **
- MUIA_Slider_Reverse EQU $8042f2a0 ;** V4 isg BOOL **
-
-
-
- ;****************************************************************************
- ;** Coloradjust **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Coloradjust_Blue EQU $8042b8a3 ;** V4 isg ULONG **
- MUIA_Coloradjust_Green EQU $804285ab ;** V4 isg ULONG **
- MUIA_Coloradjust_ModeID EQU $8042ec59 ;** V4 isg ULONG **
- MUIA_Coloradjust_Red EQU $80420eaa ;** V4 isg ULONG **
- MUIA_Coloradjust_RGB EQU $8042f899 ;** V4 isg ULONG * **
-
-
-
- ;****************************************************************************
- ;** Palette **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Palette_Entries EQU $8042a3d8 ;** V6 i.g struct MUI_Palette_Entry * **
- MUIA_Palette_Groupable EQU $80423e67 ;** V6 isg BOOL **
- MUIA_Palette_Names EQU $8042c3a2 ;** V6 isg char ** **
-
-
-
- ;****************************************************************************
- ;** Colorpanel **
- ;****************************************************************************
-
- ;** Methods **
-
-
- ;** Attributes **
-
-
-
-
- ;****************************************************************************
- ;** Popstring **
- ;****************************************************************************
-
- ;** Methods **
-
- MUIM_Popstring_Close EQU $8042dc52 ;** V7 **
- MUIM_Popstring_Open EQU $804258ba ;** V7 **
-
- ;** Attributes **
-
- MUIA_Popstring_Button EQU $8042d0b9 ;** V7 i.g Object * **
- MUIA_Popstring_CloseHook EQU $804256bf ;** V7 isg struct Hook * **
- MUIA_Popstring_OpenHook EQU $80429d00 ;** V7 isg struct Hook * **
- MUIA_Popstring_String EQU $804239ea ;** V7 i.g Object * **
- MUIA_Popstring_Toggle EQU $80422b7a ;** V7 isg BOOL **
-
-
-
- ;****************************************************************************
- ;** Popobject **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Popobject_Follow EQU $80424cb5 ;** V7 isg BOOL **
- MUIA_Popobject_Light EQU $8042a5a3 ;** V7 isg BOOL **
- MUIA_Popobject_Object EQU $804293e3 ;** V7 i.g Object * **
- MUIA_Popobject_ObjStrHook EQU $8042db44 ;** V7 isg struct Hook * **
- MUIA_Popobject_StrObjHook EQU $8042fbe1 ;** V7 isg struct Hook * **
- MUIA_Popobject_Volatile EQU $804252ec ;** V7 isg BOOL **
- MUIA_Popobject_WindowHook EQU $8042f194 ;** V9 isg struct Hook * **
-
-
-
- ;****************************************************************************
- ;** Poplist **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Poplist_Array EQU $8042084c ;** V8 i.. char ** **
-
-
-
- ;****************************************************************************
- ;** Popasl **
- ;****************************************************************************
-
- ;** Attributes **
-
- MUIA_Popasl_Active EQU $80421b37 ;** V7 ..g BOOL **
- MUIA_Popasl_StartHook EQU $8042b703 ;** V7 isg struct Hook * **
- MUIA_Popasl_StopHook EQU $8042d8d2 ;** V7 isg struct Hook * **
- MUIA_Popasl_Type EQU $8042df3d ;** V7 i.g ULONG **
-
-
-
- ;*******************************************
- ;** End of automatic header file creation **
- ;*******************************************
-
-
- ****************************************************************************
- **
- ** Macro Section
- ** -------------
- **
- ** To make GUI creation more easy and understandable, you can use the
- ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
- ** them.
- **
- ** These macros are available to C programmers only.
- **
- *** NOTE: This .i file contains the corresponding macros for
- *** assembler programmers. All assembler related comments are
- *** marked with three *'s. The original comments and examples for
- *** C are still intact.
- **
- ****************************************************************************
-
- IFND MUI_NOSHORTCUTS
-
-
-
- ****************************************************************************
- **
- ** Object Generation
- ** -----------------
- **
- ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
- ** Every xxxObject can be followed by tagitems specifying initial create
- ** time attributes for the new object and must be terminated with the
- ** End macro:
- **
- ** obj = StringObject,
- ** MUIA_String_Contents, "foo",
- ** MUIA_String_MaxLen , 40,
- ** End;
- **
- ** With the Child, SubWindow and WindowContents shortcuts you can
- ** construct a complete GUI within one command:
- **
- ** app = ApplicationObject,
- **
- ** ...
- **
- ** SubWindow, WindowObject,
- ** WindowContents, VGroup,
- ** Child, String("foo",40),
- ** Child, String("bar",50),
- ** Child, HGroup,
- ** Child, CheckMark(TRUE),
- ** Child, CheckMark(FALSE),
- ** End,
- ** End,
- ** End,
- **
- ** SubWindow, WindowObject,
- ** WindowContents, HGroup,
- ** Child, ...,
- ** Child, ...,
- ** End,
- ** End,
- **
- ** ...
- **
- ** End;
- **
- ****************************************************************************
-
-
- ****************************************************************************
- ***
- *** These assembler macros behave somewhat in the same way as the C macros
- *** but with some minor differences:
- *** The macro names End, and SET are already in use in most assembler
- *** compilers, so they are replaced with Endi and seti (for consistencys
- *** sake get is also renamed to geti).
- ***
- *** You must provide memory for all the taglists needed in the object
- *** creation. The maximum memory needed is passed to you in the
- *** TAG_SPACE variable. This is not the mimimum memory needed in most
- *** cases and is often a few kilos too large, but this is the best I
- *** could come up with the assembler macro commands.
- *** Note that you must store the value of TAG_SPACE only after all
- *** the objects are created. TAG_SPACE is incremented as object
- *** creation macros are called and in the end holds the maximum
- *** theoretical tagitem space usage in bytes. You pass the pointer to
- *** this memory (which you have yourself allocated) in the register MR.
- *** You can EQUR MR to any of the registers a3, a4 or a5 (the macros
- *** don't use these registers).
- ***
- *** All calls to xxxObject and xxxGroup _must_ be finished with an Endi
- *** call. The Endi macro actually calls the MUI_NewObjectA function
- *** and places the result object to the taglist.
- ***
- *** The MUIT macro is just a handy way of moving mixed stuff to the
- *** taglist. Upto 9 items can be moved to the stack on one source line.
- *** You can move _only constants_ with the MUIT macro, use the
- *** MUIT2 macro to move more mixed stuff (pointers, registers).
- *** Remember to use # to denote constants when using MUIT2.
- *** The Endi macro is a special case for the MUIT and MUIT2 macros.
- *** This is snooped out and every 'MUIT Endi' call is converted to
- *** an Endi macro call.
- ***
- *** Also the very common calls 'MUIT Child', 'MUIT SubWindow' and
- *** 'MUIT WindowContents' have their own macros Childi, SubWindowi
- *** and WindowContentsi. Childi macro can take upto five arguments.
- *** There are three versions of Childi: Childi, Child2 and Child3.
- *** Templates for these macros are:
- *** Childi [macro[,argument1[,argument2[,argument3[,argument4]]]]]
- *** Child2 [macro[,macro[,macro[,macro[,macro]]]]]
- *** Child3 [macro[,macro[,argument1[,argument2[,argument3]]]]]
- *** Arguments for Childi are interpreted as the first one being a
- *** full macro name and the last four arguments for this macro.
- *** Arguments for Child2 are treated as macros placed on their
- *** own separate lines. These macros can't have any arguments.
- *** Arguments for Child3 are treated as two macros placed on their
- *** own separate lines. The last macro can have three arguments.
- ***
- *** The C example above with these assembler macros:
- ***
- *** ApplicationObject
- ***
- *** ...
- ***
- *** SubWindowi
- *** WindowObject
- *** WindowContentsi
- *** VGroup
- *** Childi String,foo,40
- *** Childi String,bar,50
- *** Childi HGroup
- *** Childi Checkmark,TRUE
- *** Childi Checkmark,FALSE
- *** Endi
- *** Endi
- *** Endi
- ***
- *** SubWindowi
- *** WindowObject
- *** WindowContentsi
- *** HGroup
- *** Childi
- *** ...
- *** Childi
- *** ...
- *** Endi
- *** Endi
- ***
- *** ...
- ***
- *** Endi
- *** is app
- ***
- *** app dc.l 0
- *** bar dc.b "bar",0
- *** foo dc.b "foo",0
- ***
- ****************************************************************************
-
- *** TAG_SPACE will hold the max taglist size in bytes
-
- TAG_SPACE SET 0
-
- *** Macros to move a tagitem to the taglist if it is given
-
- cmv MACRO ; Tag
- IFNC '\1',''
- IFC '\1','Endi'
- Endi
- ELSEIF
- move.l #\1,(MR)+
- TAG_SPACE SET TAG_SPACE+4
- ENDC
- ENDC
- ENDM
-
- cmv2 MACRO ; Tag
- IFNC '\1',''
- IFC '\1','Endi'
- Endi
- ELSEIF
- move.l \1,(MR)+
- TAG_SPACE SET TAG_SPACE+4
- ENDC
- ENDC
- ENDM
-
- *** Macro to move a tagitem to stack if it is given
-
- cmv3 MACRO ; Tag
- IFNC '\1',''
- move.l \1,-(sp)
- ENDC
- ENDM
-
- *** Macros to move max 9 tagitems to the taglist
-
- MUIT MACRO ; Tag1, [...]
- cmv \1
- cmv \2
- cmv \3
- cmv \4
- cmv \5
- cmv \6
- cmv \7
- cmv \8
- cmv \9
- ENDM
-
- MUIT2 MACRO ; Tag1, [...]
- cmv2 \1
- cmv2 \2
- cmv2 \3
- cmv2 \4
- cmv2 \5
- cmv2 \6
- cmv2 \7
- cmv2 \8
- cmv2 \9
- ENDM
-
- *** DoMethod macro for easier assembler DoMethod'ing, max 20 tagitems.
- *** Note that _DoMethod is defined in amiga.lib, so you must link
- *** your own object code with it.
-
- DoMethod MACRO ; obj, MethodID, tag1, [...]
- movem.l a0/a2,-(sp)
- move.l sp,a2
- clr.l -(sp)
- cmv3 \L
- cmv3 \K
- cmv3 \J
- cmv3 \I
- cmv3 \H
- cmv3 \G
- cmv3 \F
- cmv3 \E
- cmv3 \D
- cmv3 \C
- cmv3 \B
- cmv3 \A
- cmv3 \9
- cmv3 \8
- cmv3 \7
- cmv3 \6
- cmv3 \5
- cmv3 \4
- cmv3 \3
- cmv3 \2
- cmv3 \1
- jsr _DoMethod
- move.l a2,sp
- movem.l (sp)+,a0/a2
- ENDM
-
- *** MUI_Request macro for easier assembler MUI_Request'ing, max
- *** 20 tagitems.
-
- MUI_Request MACRO ; app,win,flags,title,gadgets,format,[params,...]
- movem.l a0-a4,-(sp)
- move.l sp,a4
- cmv3 \L
- cmv3 \K
- cmv3 \J
- cmv3 \I
- cmv3 \H
- cmv3 \G
- cmv3 \F
- cmv3 \E
- cmv3 \D
- cmv3 \C
- cmv3 \B
- cmv3 \A
- cmv3 \9
- cmv3 \8
- cmv3 \7
- move.l a4,a3
- move.l #\6,a2
- move.l #\5,a1
- move.l #\4,a0
- move.l #\3,d2
- move.l \2,d1
- move.l \1,d0
- CALLMUI MUI_RequestA
- move.l a4,sp
- movem.l (sp)+,a0-a4
- ENDM
-
- *** Macro for getting a pointer to an object you just created.
- *** This is valid only after an Endi macro.
-
- is MACRO ; pointer
- move.l d0,\1
- ENDM
-
- WindowObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Window,a0
- move.l a4,a2
- ENDM
- Endi MACRO
- clr.l (MR)+
- move.l a2,a1
- CALLMUI MUI_NewObjectA
- move.l a2,a4
- movem.l (sp)+,a0/a2
- cmv2 d0
- ENDM
- ImageObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Image,a0
- move.l a4,a2
- ENDM
- NotifyWindowObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Notify,a0
- move.l a4,a2
- ENDM
- ApplicationObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Application,a0
- move.l a4,a2
- ENDM
- TextObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Text,a0
- move.l a4,a2
- ENDM
- RectangleObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Rectangle,a0
- move.l a4,a2
- ENDM
- ListObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_List,a0
- move.l a4,a2
- ENDM
- PropObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Prop,a0
- move.l a4,a2
- ENDM
- StringObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_String,a0
- move.l a4,a2
- ENDM
- ScrollbarObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Scrollbar,a0
- move.l a4,a2
- ENDM
- ListviewObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Listview,a0
- move.l a4,a2
- ENDM
- RadioObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Radio,a0
- move.l a4,a2
- ENDM
- VolumelistObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Volumelist,a0
- move.l a4,a2
- ENDM
- FloattextObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Floattext,a0
- move.l a4,a2
- ENDM
- DirlistObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Dirlist,a0
- move.l a4,a2
- ENDM
- ApplistObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Applist,a0
- move.l a4,a2
- ENDM
- DatatypeObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Datatype,a0
- move.l a4,a2
- ENDM
- SliderObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Slider,a0
- move.l a4,a2
- ENDM
- CycleObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Cycle,a0
- move.l a4,a2
- ENDM
- GaugeObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Gauge,a0
- move.l a4,a2
- ENDM
- ScaleObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Scale,a0
- move.l a4,a2
- ENDM
- BoopsiObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Boopsi,a0
- move.l a4,a2
- ENDM
- GroupObject MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Group,a0
- move.l a4,a2
- ENDM
- VGroup MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Group,a0
- move.l a4,a2
- ENDM
- HGroup MACRO
- movem.l a0/a2,-(sp)
- move.l MUIC_Group,a0
- move.l a4,a2
- MUIT MUIA_Group_Horiz,TRUE
- ENDM
- ColGroup MACRO ; cols
- movem.l a0/a2,-(sp)
- move.l MUIC_Group,a0
- move.l a4,a2
- MUIT MUIA_Group_Columns,\1
- ENDM
- RowGroup MACRO ; rows
- movem.l a0/a2,-(sp)
- move.l MUIC_Group,a0
- move.l a4,a2
- MUIT MUIA_Group_Rows,\1
- ENDM
-
- Childi MACRO ; [macro[,argument1[,argument2[,argument3[,argument4]]]]]
- cmv MUIA_Group_Child
- \1 \2,\3,\4,\5
- ENDM
- Child2 MACRO ; [macro[,macro[,macro[,macro[,macro]]]]]
- cmv MUIA_Group_Child
- \1
- \2
- \3
- \4
- \5
- ENDM
- Child3 MACRO ; [macro[,macro[,argument1[,argument2[,argument3]]]]]
- cmv MUIA_Group_Child
- \1
- \2 \3,\4,\5
- ENDM
- SubWindowi MACRO
- cmv MUIA_Application_Window
- ENDM
- WindowContentsi MACRO
- cmv MUIA_Window_RootObject
- ENDM
-
-
- Child EQU MUIA_Group_Child
- SubWindow EQU MUIA_Application_Window
- WindowContents EQU MUIA_Window_RootObject
-
-
-
- ****************************************************************************
- **
- ** Frame Types
- ** -----------
- **
- ** These macros may be used to specify one of MUI's different frame types.
- ** Note that every macro consists of one or more { ti_Tag, ti_Data }
- ** pairs.
- **
- ** GroupFrameT() is a special kind of frame that contains a centered
- ** title text.
- **
- ** HGroup, GroupFrameT("Horiz Groups"),
- ** Child, RectangleObject, TextFrame , End,
- ** Child, RectangleObject, StringFrame, End,
- ** Child, RectangleObject, ButtonFrame, End,
- ** Child, RectangleObject, ListFrame , End,
- ** End,
- **
- ****************************************************************************
-
- ****************************************************************************
- ***
- *** Assembler version of the above C example:
- ***
- *** HGroup
- *** GroupFrameT horizg
- *** Child2 RectangleObject,TextFrame,Endi
- *** Child2 RectangleObject,StringFrame,Endi
- *** Child2 RectangleObject,ButtonFrame,Endi
- *** Child2 RectangleObject,ListFrame,Endi
- *** Endi
- ***
- *** horizg dc.b "Horiz Groups",0
- *** even
- ***
- ****************************************************************************
-
- *** These macros call MUIT themselves, do not use eg. 'MUIT NoFrame'
-
- NoFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_None
- ENDM
- ButtonFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_Button
- ENDM
- ImageButtonFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_ImageButton
- ENDM
- TextFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_Text
- ENDM
- StringFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_String
- ENDM
- ReadListFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_ReadList
- ENDM
- InputListFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_InputList
- ENDM
- PropFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_Prop
- ENDM
- GaugeFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_Gauge
- ENDM
- GroupFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_Group
- ENDM
- GroupFrameT MACRO ; s
- MUIT MUIA_Frame,MUIV_Frame_Group,MUIA_Frame_Title,\1
- ENDM
- VirtualFrame MACRO
- MUIT MUIA_Frame,MUIV_Frame_Virtual
- ENDM
-
-
- ****************************************************************************
- **
- ** Spacing Macros
- ** --------------
- **
- ****************************************************************************
-
- *** For these macros tagitem space is allocated from the stack and is
- *** fixed in size. So, there is no need for a separate Endi call.
-
- HVSpace MACRO
- move.l a0,-(sp)
- move.l MUIC_Rectangle,a0
- clr.l -(sp)
- move.l sp,a1
- CALLMUI MUI_NewObjectA
- addq.l #4,sp
- move.l (sp)+,a0
- MUIT2 d0
- ENDM
-
- HSpace MACRO ; x
- move.l a0,-(sp)
- move.l MUIC_Rectangle,a0
- clr.l -(sp)
- clr.l -(sp)
- pea MUIA_VertWeight
- move.l #\1,-(sp)
- IFND \1
- pea MUIA_FixWidth
- ELSEIF
- pea 1.w
- ENDC
- move.l sp,a1
- CALLMUI MUI_NewObjectA
- lea 20(sp),sp
- move.l (sp)+,a0
- MUIT2 d0
- ENDM
-
- VSpace MACRO ; x
- move.l a0,-(sp)
- move.l MUIC_Rectangle,a0
- clr.l -(sp)
- clr.l -(sp)
- pea MUIA_HorizWeight
- move.l #\1,-(sp)
- IFND \1
- pea MUIA_FixHeight
- ELSEIF
- pea 1.w
- ENDC
- move.l sp,a1
- CALLMUI MUI_NewObjectA
- lea 20(sp),sp
- move.l (sp)+,a0
- MUIT2 d0
- ENDM
-
- HCenter MACRO ; obj
- HGroup
- GroupSpacing 0
- Childi HSpace,0
- Childi MUIT2,\1
- Childi HSpace,0
- Endi
- ENDM
-
- VCenter MACRO ; obj
- VGroup
- GroupSpacing 0
- Childi VSpace,0
- Childi MUIT2,\1
- Childi VSpace,0
- Endi
- ENDM
-
- InnerSpacing MACRO ; h,v
- MUIT MUIA_InnerLeft,\1,MUIA_InnerRight,\1,MUIA_InnerTop,\2,MUIA_InnerBottom,\2
- ENDM
-
- GroupSpacing MACRO ; x
- MUIT MUIA_Group_Spacing,\1
- ENDM
-
-
-
- ****************************************************************************
- ***
- *** You use these assembler macros like this:
- ***
- *** String mystr1,40
- ***
- *** CheckMark TRUE
- ***
- *** SimpleButton mysbut1
- ***
- *** KeyButton mykbut1,"c"
- ***
- *** Cycle myentr1
- ***
- *** KeyCycle myentr1,"k"
- ***
- *** Radio rname1,rbuts1
- ***
- *** String mystr1,35
- *** is strobj1
- *** Popup ST_Font,strobj1,MyHook,MUII_Popup
- ***
- ***
- *** MyHook rts ; dummy hook, does nothing
- *** mysrt1 dc.b "String contents",0
- *** even
- *** mysbut1 dc.b "Button",0
- *** even
- *** mykbut1 dc.b "Cancel",0
- *** even
- *** myentr1 dc.l entrs1,entrs2,entrs3,NULL
- *** entrs1 dc.b "One",0
- *** entrs2 dc.b "Two",0
- *** entrs3 dc.b "Three",0
- *** even
- *** rname1 dc.b "Radio Buttons:",0
- *** even
- *** rbuts1 dc.l rbut1,rbut2,rbut3,NULL
- *** rbut1 dc.b "Button1",0
- *** even
- *** rbut2 dc.b "Button2",0
- *** even
- *** rbut3 dc.b "Button3",0
- *** even
- *** strobj dc.l 0
- *** ST_Font dc.l 0
- ***
- ***
- ****************************************************************************
-
- ****************************************************************************
- **
- ** String-Object
- ** -------------
- **
- ** The following macro creates a simple string gadget.
- **
- ****************************************************************************
-
- String MACRO ; contents,maxlen
- StringObject
- StringFrame
- MUIT MUIA_String_MaxLen,\2
- MUIT MUIA_String_Contents,\1
- Endi
- ENDM
-
- KeyString MACRO ; contents,maxlen,controlchar
- StringObject
- StringFrame
- MUIT MUIA_ControlChar,\3
- MUIT MUIA_String_MaxLen,\2
- MUIT MUIA_String_Contents,\1
- Endi
- ENDM
-
- ****************************************************************************
- **
- ** CheckMark-Object
- ** ----------------
- **
- ** The following macro creates a checkmark gadget.
- **
- ****************************************************************************
-
- CheckMark MACRO ; selected
- ImageObject
- ImageButtonFrame
- MUIT MUIA_InputMode,MUIV_InputMode_Toggle
- MUIT MUIA_Image_Spec,MUII_CheckMark
- MUIT MUIA_Image_FreeVert,TRUE
- MUIT MUIA_Selected,\1
- MUIT MUIA_Background,MUII_ButtonBack
- MUIT MUIA_ShowSelState,FALSE
- Endi
- ENDM
-
- KeyCheckMark MACRO ; selected,control
- ImageObject
- ImageButtonFrame
- MUIT MUIA_InputMode,MUIV_InputMode_Toggle
- MUIT MUIA_Image_Spec,MUII_CheckMark
- MUIT MUIA_Image_FreeVert,TRUE
- MUIT MUIA_Selected,\1
- MUIT MUIA_Background,MUII_ButtonBack
- MUIT MUIA_ShowSelState,FALSE
- MUIT MUIA_ControlChar,\2
- Endi
- ENDM
-
-
- ****************************************************************************
- **
- ** Button-Objects
- ** --------------
- **
- ** Note: Use small letters for KeyButtons, e.g.
- ** KeyButton("Cancel",'c') and not KeyButton("Cancel",'C') !!
- **
- ****************************************************************************
-
- SimpleButton MACRO ; name
- TextObject
- ButtonFrame
- MUIT MUIA_Text_Contents,\1
- MUIT MUIA_Text_PreParse,PreParse
- MUIT MUIA_Text_SetMax,FALSE
- MUIT MUIA_InputMode,MUIV_InputMode_RelVerify
- MUIT MUIA_Background,MUII_ButtonBack
- Endi
- ENDM
-
- KeyButton MACRO ; name,key
- TextObject
- ButtonFrame
- MUIT MUIA_Text_Contents,\1
- MUIT MUIA_Text_PreParse,PreParse
- MUIT MUIA_Text_SetMax,FALSE
- MUIT MUIA_Text_HiChar,\2
- MUIT MUIA_ControlChar,\2
- MUIT MUIA_InputMode,MUIV_InputMode_RelVerify
- MUIT MUIA_Background,MUII_ButtonBack
- Endi
- ENDM
-
-
-
- ****************************************************************************
- **
- ** Cycle-Object
- ** ------------
- **
- ****************************************************************************
-
- Cycle MACRO ; entries
- CycleObject
- MUIT MUIA_Cycle_Entries,\1
- Endi
- ENDM
-
- KeyCycle MACRO ; entries,key
- CycleObject
- MUIT MUIA_Cycle_Entries,\1,MUIA_ControlChar,\2
- Endi
- ENDM
-
-
-
-
-
- ****************************************************************************
- **
- ** Popup-Object
- ** ------------
- **
- ** An often needed GUI element is a string gadget with a little button
- ** that opens up a (small) window with a list containing possible entries
- ** for this gadget. Together with the Popup and the String macro,
- ** such a thing would look like
- **
- ** VGroup,
- ** Child, Popup(ST_Font, String("helvetica/13",32), &Hook, MUII_Popup),
- ** ...,
- **
- ** ST_Font will hold a pointer to the embedded string gadget and can
- ** be used to set and get its contents as with every other string object.
- **
- ** The hook will be called with the string gadget as object whenever
- ** the user releases the popup button and could look like this:
- **
- ** ULONG __asm __saveds HookFunc(register __a2 APTR obj,MUII_File)
- ** {
- ** ...
- **
- ** // put our application to sleep while displaying the requester
- ** set(Application,MUIA_Application_Sleep,TRUE);
- **
- ** // get the calling objects window and position
- ** get(obj,MUIA_Window ,&window);
- ** get(obj,MUIA_LeftEdge,&l);
- ** get(obj,MUIA_TopEdge ,&t);
- ** get(obj,MUIA_Width ,&w);
- ** get(obj,MUIA_Height ,&h);
- **
- ** if (req=MUI_AllocAslRequestTags(ASL_FontRequest,TAG_DONE))
- ** {
- ** if (MUI_AslRequestTags(req,
- ** ASLFO_Window ,window,
- ** ASLFO_PrivateIDCMP ,TRUE,
- ** ASLFO_TitleText ,"Select Font",
- ** ASLFO_InitialLeftEdge,window->LeftEdge + l,
- ** ASLFO_InitialTopEdge ,window->TopEdge + t+h,
- ** ASLFO_InitialWidth ,w,
- ** ASLFO_InitialHeight ,250,
- ** TAG_DONE))
- ** {
- ** // set the new contents for our string gadget
- ** set(obj,MUIA_String_Contents,req->fo_Attr.ta_Name);
- ** }
- ** MUI_FreeAslRequest(req);
- ** }
- **
- ** // wake up our application again
- ** set(Application,MUIA_Application_Sleep,FALSE);
- **
- ** return(0);
- ** }
- **
- ** Note: This macro needs a "APTR dummy;" declaration somewhere in your
- ** code to work.
- **
- ****************************************************************************
-
- Popup MACRO ; ptr,obj,hook,img
- HGroup
- GroupSpacing 1
- MUIT2 #Child,\2
- move.l \2,\1
- Child2 ImageObject,ImageButtonFrame
- MUIT MUIA_Image_Spec,\4
- MUIT MUIA_Image_FontMatch_Width,TRUE
- MUIT MUIA_Image_FreeVert,TRUE
- MUIT MUIA_InputMode,MUIV_InputMode_RelVerify
- MUIT MUIA_Background,MUII_BACKGROUND
- Endi
- move.l (sp),dummy
- MUIT TAG_IGNORE
- tst.l dummy
- beq.b pop\@
- tst.l \1
- beq.b pop\@
- DoMethod dummy,#MUIM_Notify,#MUIA_Pressed,#FALSE,\1,#2,#MUIM_CallHook,\2
- MUIT2 d0
- bra.b pup\@
- pop\@ MUIT 0
- pup\@ Endi
- ENDM
-
-
-
- ****************************************************************************
- **
- ** Labeling Objects
- ** ----------------
- **
- ** Labeling objects, e.g. a group of string gadgets,
- **
- ** Small: |foo |
- ** Normal: |bar |
- ** Big: |foobar|
- ** Huge: |barfoo|
- **
- ** is done using a 2 column group:
- **
- ** ColGroup(2),
- ** Child, Label2("Small:" ),
- ** Child, StringObject, End,
- ** Child, Label2("Normal:"),
- ** Child, StringObject, End,
- ** Child, Label2("Big:" ),
- ** Child, StringObject, End,
- ** Child, Label2("Huge:" ),
- ** Child, StringObject, End,
- ** End,
- **
- ** Note that we have three versions of the label macro, depending on
- ** the frame type of the right hand object:
- **
- ** Label1(): For use with standard frames (e.g. checkmarks).
- ** Label2(): For use with double high frames (e.g. string gadgets).
- ** Label() : For use with objects without a frame.
- **
- ** These macros ensure that your label will look fine even if the
- ** user of your application configured some strange spacing values.
- ** If you want to use your own labeling, you'll have to pay attention
- ** on this topic yourself.
- **
- ****************************************************************************
-
- ****************************************************************************
- ***
- *** And the above C example in assembler:
- ***
- *** ColGroup 2
- *** Childi Label2,small
- *** Child2 StringObject,Endi
- *** Childi Label2,normal
- *** Child2 StringObject,Endi
- *** Childi Label2,big
- *** Child2 StringObject,Endi
- *** Childi Label2,huge
- *** Child2 StringObject,Endi
- *** Endi
- ***
- *** small dc.b "Small:",0
- *** even
- *** normal dc.b "Normal:",0
- *** even
- *** big dc.b "Big:",0
- *** even
- *** huge dc.b "Huge:",0
- *** even
- ***
- ****************************************************************************
-
- Label MACRO ; label
- TextObject
- MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
- MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
- Endi
- ENDM
-
- Label1 MACRO ; label
- TextObject
- MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
- MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
- ButtonFrame
- MUIT MUIA_FramePhantomHoriz,TRUE
- Endi
- ENDM
-
- Label2 MACRO ; label
- TextObject
- MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1,
- MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
- StringFrame
- MUIT MUIA_FramePhantomHoriz,TRUE
- Endi
- ENDM
-
- KeyLabel MACRO ; label,hichar
- TextObject
- MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
- MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0,
- MUIT MUIA_Text_HiChar,\2
- Endi
- ENDM
-
- KeyLabel1 MACRO ; label,hichar
- TextObject
- MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
- MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
- MUIT MUIA_Text_HiChar,\2
- ButtonFrame
- MUIT MUIA_FramePhantomHoriz,TRUE
- Endi
- ENDM
-
- KeyLabel2 MACRO ; label,hichar
- TextObject
- MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
- MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
- MUIT MUIA_Text_HiChar,\2
- StringFrame
- MUIT MUIA_FramePhantomHoriz,TRUE
- Endi
- ENDM
-
- ***************************************************************************
- **
- ** Radio-Object
- ** ------------
- **
- ***************************************************************************
-
- Radio MACRO ;name,array
- RadioObject
- GroupFrameT \1
- MUIT MUIA_Radio_Entries,\2
- Endi
- ENDM
-
- KeyRadio MACRO ;name,array,key
- RadioObject
- GroupFrameT \1
- MUIT MUIA_Radio_Entries,\2
- MUIT MUIA_ControlChar,\3
- Endi
- ENDM
-
-
-
- ***************************************************************************
- **
- ** Slider-Object
- ** -------------
- **
- ***************************************************************************
-
-
- Slider MACRO ;min,max,level
- SliderObject
- MUIT MUIA_Slider_Min,\1
- MUIT MUIA_Slider_Max,\2
- MUIT MUIA_Slider_Level,\3
- Endi
- ENDM
-
- KeySlider MACRO ;min,max,level,key
- SliderObject
- MUIT MUIA_Slider_Min, \1
- MUIT MUIA_Slider_Max, \2
- MUIT MUIA_Slider_Level, \3
- MUIT MUIA_ControlChar, \4
- Endi
- ENDM
-
-
-
-
-
- ****************************************************************************
- **
- ** Controlling Objects
- ** -------------------
- **
- ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
- ** calls:
- **
- ** {
- ** char *x;
- **
- ** set(obj,MUIA_String_Contents,"foobar");
- ** get(obj,MUIA_String_Contents,&x);
- **
- ** printf("gadget contains '%s'\n",x);
- ** }
- **
- ****************************************************************************
-
- ****************************************************************************
- ***
- *** And the above C example in assembler:
- ***
- *** seti obj,#MUIA_String_Contents,#foobar
- *** geti obj,#MUIA_String_Contents,#x
- *** move.l #myfmt,d1
- *** move.l #data,d2
- *** CALLDOS VPrintf
- ***
- *** foobar dc.b "foobar",0
- *** even
- *** data dc.l x
- *** x dcb.b 10
- *** myfmt dc.b "gadget contains '%s'",10,0
- *** even
- ***
- *** The names of the set and get macros have been changed to seti and geti
- *** since most assemblers already have the pseudo op-code SET.
- *** Note that seti is designed to take multiple tagitems (max 8).
- ***
- ****************************************************************************
-
- geti MACRO ; obj,attr,store
- move.l \2,d0
- move.l \1,a0
- move.l \3,a1
- CALLINT GetAttr
- ENDM
- seti MACRO ; obj,attr,value [,attr,value,...]
- move.l sp,a2
- cmv3 #TAG_DONE
- cmv3 \9
- cmv3 \8
- cmv3 \7
- cmv3 \6
- cmv3 \5
- cmv3 \4
- cmv3 \3
- cmv3 \2
- move.l \1,a0
- move.l sp,a1
- CALLINT SetAttrsA
- move.l a2,sp
- ENDM
-
- setmutex MACRO ; obj,n
- seti \1,#MUIA_Radio_Active,\2
- ENDM
- setcycle MACRO ; obj,n
- seti \1,#MUIA_Cycle_Active,\2
- ENDM
- setstring MACRO ; obj,s
- seti \1,#MUIA_String_Contents,\2
- ENDM
- setcheckmark MACRO ; obj,b
- seti \1,#MUIA_Selected,\2
- ENDM
- setslider MACRO ; obj,l
- seti \1,#MUIA_Slider_Level,\2
- ENDM
-
-
- ENDC ;MUI_NOSHORTCUTS
-
-
- * End of Include file, for using MUI from an application program. The rest
- * of this is for custom class implementors only
- *
- *****************************************************************************
- *****************************************************************************
- *****************************************************************************
-
-
-
-
-
-
-
-
-
-
-
-
-
- ****************************************************************************
- **
- ** 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.
- **
- ***************************************************************************/
-
- MUIM_BoopsiQuery EQU $80427157 ;* this is send to the boopsi and *
- ;* must be used as return value *
-
- STRUCTURE MUI_BoopsiQuery,0 ;* parameter structure *
-
- LONG mbq_MethodID ;* always MUIM_BoopsiQuery */
- APTR mbq_Screen ;* obsolete, use mbq_RenderInfo */
- LONG mbq_Flags; ;* read only, see below */
- LONG mbq_MinWidth ;* write only, fill in min width */
- LONG mbq_MinHeight ;* write only, fill in min height */
- LONG mbq_MaxWidth ;* write only, fill in max width */
- LONG mbq_MaxHeight ;* write only, fill in max height */
- LONG mbq_DefWidth ;* write only, fill in def width */
- LONG mbq_DefHeight ;* write only, fill in def height */
- APTR mbq_RenderInfo ;* read only, display context */
-
- LABEL MUI_BoopsiQuery_SIZEOF ;* may grow in future ... */
-
-
- MUIP_BoopsiQuery EQU MUI_BoopsiQuery ;* old structure name *
-
- MBQF_HORIZ EQU 1<<0 ;* object used in a horizontal *
- ;* context (else vertical) *
-
- MBQ_MUI_MAXMAX EQU 10000 ;* use this for unlimited MaxWidth/Height *
-
-
-
-
-
-
-
- *************************************************************************
- ** 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.
- *
-
-
- * Global information for every object *
-
- STRUCTURE MUI_GlobalInfo,0
-
- LONG priv0
- APTR mgi_ApplicationObject
-
- * ... private data follows ... *
-
-
-
-
- * Instance data of notify class *
-
- STRUCTURE MUI_NotifyData,0
-
- APTR mnd_GlobalInfo
- LONG mnd_UserData
- LONG priv1
- LONG priv2
- LONG priv3
- LONG priv4
- LONG priv5
-
- LABEL MUI_NotifyData_SIZEOF
-
-
- * MUI_MinMax structure holds information about minimum, maximum
- * and default dimensions of an object. *
-
- STRUCTURE MUI_MinMax,0
-
- WORD MinWidth
- WORD MinHeight
- WORD MaxWidth
- WORD MaxHeight
- WORD DefWidth
- WORD DefHeight
-
- LABEL MUI_MinMax_SIZEOF
-
-
- MUI_MAXMAX EQU 10000 * use this if a dimension is not limited. *
-
-
- * (partial) instance data of area class *
-
- STRUCTURE MUI_AreaData,0
-
- APTR mad_RenderInfo ;* RenderInfo for this object *
- ULONG priv6 ;
- APTR mad_Font ;* Font *
- STRUCT mad_MinMax,MUI_MinMax_SIZEOF ;* min/max/default sizes *
- STRUCT mad_Box,ibox_SIZEOF ;* position and dimension *
- BYTE mad_addleft ;* frame & innerspacing left offset *
- BYTE mad_addtop ;* frame & innerspacing top offset *
- BYTE mad_subwidth ;* frame & innerspacing add. width *
- BYTE mad_subheight ;* frame & innerspacing add. height *
- LONG mad_Flags ;* see definitions below *
-
- ;* ... private data follows ... *
-
-
- * Definitions for mad_Flags, other flags are private *
-
- MADF_DRAWOBJECT EQU 1<<0 * completely redraw yourself *
- MADF_DRAWUPDATE EQU 1<<1 * only update yourself *
-
-
-
-
- * MUI's draw pens *
-
- MPEN_SHINE EQU 0
- MPEN_HALFSHINE EQU 1
- MPEN_BACKGROUND EQU 2
- MPEN_HALFSHADOW EQU 3
- MPEN_SHADOW EQU 4
- MPEN_TEXT EQU 5
- MPEN_FILL EQU 6
- MPEN_ACTIVEOBJ EQU 7
- MPEN_COUNT EQU 8
-
-
- * Information on display environment *
-
- STRUCTURE MUI_RenderInfo,0
-
- APTR mri_WindowObject ;* valid between MUIM_Setup/MUIM_Cleanup *
- APTR mri_Screen ;* valid between MUIM_Setup/MUIM_Cleanup *
- APTR mri_DrawInfo ;* valid between MUIM_Setup/MUIM_Cleanup *
- WORD mri_Pens ;* valid between MUIM_Setup/MUIM_Cleanup *
- APTR mri_Window ;* valid between MUIM_Show/MUIM_Hide *
- APTR mri_RastPort ;* valid between MUIM_Show/MUIM_Hide *
-
- ;* ... private data follows ... *
-
-
-
- * the following macros can be used to get pointers to an objects
- * GlobalInfo and RenderInfo structures. */
- *
- *NOTE: These have not been converted from the C header.
- ;
- ;struct __dummyXFC2__ {
- ;
- ; STRUCT MUI_NotifyData mnd;
- ; struct MUI_AreaData mad;
- ;};
- ;
- ;#define muiNotifyData(obj) (&(((struct __dummyXFC2__ *)(obj))->mnd))
- ;#define muiAreaData(obj) (&(((struct __dummyXFC2__ *)(obj))->mad))
- ;
- ;define muiGlobalInfo(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_GlobalInfo)
- ;#define muiUserData(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_UserData)
- ;#define muiRenderInfo(obj) (((struct __dummyXFC2__ *)(obj))->mad.mad_RenderInfo)
-
-
-
- * User configurable keyboard events coming with MUIM_HandleInput *
-
-
- MUIKEY_RELEASE EQU -2 * not a real key, faked when MUIKEY_PRESS is released *
- MUIKEY_NONE EQU -1
- MUIKEY_PRESS EQU 0
- MUIKEY_TOGGLE EQU 1
- MUIKEY_UP EQU 2
- MUIKEY_DOWN EQU 3
- MUIKEY_PAGEUP EQU 4
- MUIKEY_PAGEDOWN EQU 5
- MUIKEY_TOP EQU 6
- MUIKEY_BOTTOM EQU 7
- MUIKEY_LEFT EQU 8
- MUIKEY_RIGHT EQU 9
- MUIKEY_WORDLEFT EQU 10
- MUIKEY_WORDRIGHT EQU 11
- MUIKEY_LINESTART EQU 12
- MUIKEY_LINEEND EQU 13
- MUIKEY_GADGET_NEXT EQU 14
- MUIKEY_GADGET_PREV EQU 15
- MUIKEY_GADGET_OFF EQU 16
- MUIKEY_WINDOW_CLOSE EQU 17
- MUIKEY_WINDOW_NEXT EQU 18
- MUIKEY_WINDOW_PREV EQU 19
- MUIKEY_HELP EQU 20
- MUIKEY_POPUP EQU 21
- MUIKEY_COUNT EQU 22 * counter *
-
-
- ********************************************************************
- * Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them *
-
- * I Have left the original C macros here, so you can see what they are
- * for, but I have not converted them to assembler.
- *
- *
-
- ;#define _app(obj) (muiGlobalInfo(obj)->mgi_ApplicationObject)
- ;#define _win(obj) (muiRenderInfo(obj)->mri_WindowObject)
- ;#define _dri(obj) (muiRenderInfo(obj)->mri_DrawInfo)
- ;#define _window(obj) (muiRenderInfo(obj)->mri_Window)
- ;#define _screen(obj) (muiRenderInfo(obj)->mri_Screen)
- ;#define _rp(obj) (muiRenderInfo(obj)->mri_RastPort)
- ;#define _left(obj) (muiAreaData(obj)->mad_Box.Left)
- ;#define _top(obj) (muiAreaData(obj)->mad_Box.Top)
- ;#define _width(obj) (muiAreaData(obj)->mad_Box.Width)
- ;#define _height(obj) (muiAreaData(obj)->mad_Box.Height)
- ;#define _right(obj) (_left(obj)+_width(obj)-1)
- ;#define _bottom(obj) (_top(obj)+_height(obj)-1)
- ;#define _addleft(obj) (muiAreaData(obj)->mad_addleft )
- ;#define _addtop(obj) (muiAreaData(obj)->mad_addtop )
- ;#define _subwidth(obj) (muiAreaData(obj)->mad_subwidth )
- ;#define _subheight(obj) (muiAreaData(obj)->mad_subheight)
- ;#define _mleft(obj) (_left(obj)+_addleft(obj))
- ;#define _mtop(obj) (_top(obj)+_addtop(obj))
- ;#define _mwidth(obj) (_width(obj)-_subwidth(obj))
- ;#define _mheight(obj) (_height(obj)-_subheight(obj))
- ;#define _mright(obj) (_mleft(obj)+_mwidth(obj)-1)
- ;#define _mbottom(obj) (_mtop(obj)+_mheight(obj)-1)
- ;#define _font(obj) (muiAreaData(obj)->mad_Font)
- ;#define _flags(obj) (muiAreaData(obj)->mad_Flags)
-
-
-
-
-
- * MUI_CustomClass returned by MUI_CreateCustomClass() *
-
- STRUCTURE MUI_CustomClass,0
-
- APTR mcc_UserData ;* use for whatever you want *
-
- APTR mcc_UtilityBase ;* MUI has opened these libraries *
- APTR mcc_DOSBase ;* for you automatically. You can *
- APTR mcc_GfxBase ;* use them or decide to open *
- APTR mcc_IntuitionBase ;* your libraries yourself. *
-
- APTR mcc_Super ;* pointer to super class *
- APTR mcc_Class ;* pointer to the new class *
-
- ;* ... private data follows ... *
-
- ****************************************************************************
-
- ENDC ;LIBRARIES_MUI_I
-