; s.Wimp - wimp definitions

Null_Reason_Code        *               0
Redraw_Window_Request   *               1
Open_Window_Request     *               2
Close_Window_Request    *               3
Pointer_Leaving_Window  *               4
Pointer_Entering_Window *               5
Mouse_Click             *               6
User_Drag_Box           *               7
Key_Pressed             *               8
Menu_Selection          *               9
Scroll_Request          *               10
Lose_Caret              *               11
Gain_Caret              *               12
User_Message            *               17
User_Message_Recorded   *               18
User_Message_Acknowledge *              19

; User message numbers

Message_Quit            *               0
Message_DataSave        *               1
Message_DataSaveAck     *               2
Message_DataLoad        *               3
Message_DataLoadAck     *               4
Message_DataOpen        *               5
Message_RAMFetch        *               6
Message_RAMTransmit     *               7
Message_PreQuit         *               8
Message_PaletteChange   *               9
Message_FilerOpenDir    *               &400
Message_FilerCloseDir   *               &401
Message_Notify          *               &40040
Message_MenuWarning     *               &400C0
Message_ModeChange      *               &400C1
Message_TaskInitialise  *               &400C2
Message_TaskCloseDown   *               &400C3
Message_SlotSize        *               &400C4
Message_SetSlot         *               &400C5
Message_TaskNameRq      *               &400C6
Message_TaskNameIs      *               &400C7

; Message block offsets

                        ^               0
MB_Length               #               4
MB_Me                   #               4
MB_MyRef                #               4
MB_YourRef              #               4
MB_Action               #               4
MB_Data                 #               0     ; Any size

; Redraw block

                        ^               0
RB_Handle               #               4
RB_BoxX0                #               4
RB_BoxY0                #               4
RB_BoxX1                #               4
RB_BoxY1                #               4
RB_ScrX                 #               4
RB_ScrY                 #               4
RB_WindX0               #               4
RB_WindY0               #               4
RB_WindX1               #               4
RB_WindY1               #               4

; Macros

                MACRO
$label          MENU            $title, $width
$label          PACK            12, $title
                =               7, 2, 7, 0
                &               $width, 44, 0
                MEND

                MACRO
$label          ENTRY           $flags, $submenu, $text
$label          &               $flags, $submenu
                &               2_00000111000000001001000000000001
                PACK            12, $text
                MEND

                END
