home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / oslib / oslib_1 / OSLib / User / Hdr / Wimp < prev    next >
Encoding:
Text File  |  1995-08-01  |  49.0 KB  |  1,501 lines

  1. ;Assembler header file for Wimp
  2. ;written by DefMod (Jun 30 1995) on Tue Aug  1 10:56:15 1995
  3. ;Jonathan Coxhead, Acorn Computers Ltd
  4.  
  5.         [       :LNOT: :DEF: Get_Types
  6.         GBLS    Get_Types
  7.         ]
  8.         [       :LNOT: :DEF: Types_Hdr
  9. Get_Types                       SETS    "GET OS:Hdr.Types"
  10.         |
  11. Get_Types                       SETS    ""
  12.         ]
  13.         $Get_Types
  14.  
  15.         [       :LNOT: :DEF: Get_OS
  16.         GBLS    Get_OS
  17.         ]
  18.         [       :LNOT: :DEF: OS_Hdr
  19. Get_OS                          SETS    "GET OS:Hdr.OS"
  20.         |
  21. Get_OS                          SETS    ""
  22.         ]
  23.         $Get_OS
  24.  
  25.         [       :LNOT: :DEF: Get_OSSpriteOp
  26.         GBLS    Get_OSSpriteOp
  27.         ]
  28.         [       :LNOT: :DEF: OSSpriteOp_Hdr
  29. Get_OSSpriteOp                  SETS    "GET OS:Hdr.OSSpriteOp"
  30.         |
  31. Get_OSSpriteOp                  SETS    ""
  32.         ]
  33.         $Get_OSSpriteOp
  34.  
  35.         [       :LNOT: :DEF: Get_Font
  36.         GBLS    Get_Font
  37.         ]
  38.         [       :LNOT: :DEF: Font_Hdr
  39. Get_Font                        SETS    "GET OS:Hdr.Font"
  40.         |
  41. Get_Font                        SETS    ""
  42.         ]
  43.         $Get_Font
  44.  
  45.         [       :LNOT: :DEF: Wimp_Hdr
  46.         GBLS    Wimp_Hdr
  47.  
  48. ;Symbols for constants
  49. Wimp_VersionRO2                 *       &C8
  50. Wimp_VersionRO30                *       &12C
  51. Wimp_VersionRO3                 *       &136
  52. Wimp_VersionRO35                *       &15E
  53. Wimp_IconNameLimit              *       12
  54. Wimp_TemplateNameLimit          *       12
  55. Wimp_MenuNameLimit              *       12
  56. Wimp_MenuDepthLimit             *       8
  57. Wimp_CharXSize                  *       16
  58. Wimp_CharYSize                  *       32
  59. Wimp_NullReasonCode             *       &0
  60. Wimp_RedrawWindowRequest        *       &1
  61. Wimp_OpenWindowRequest          *       &2
  62. Wimp_CloseWindowRequest         *       &3
  63. Wimp_PointerLeavingWindow       *       &4
  64. Wimp_PointerEnteringWindow      *       &5
  65. Wimp_MouseClick                 *       &6
  66. Wimp_UserDragBox                *       &7
  67. Wimp_KeyPressed                 *       &8
  68. Wimp_MenuSelection              *       &9
  69. Wimp_ScrollRequest              *       &A
  70. Wimp_LoseCaret                  *       &B
  71. Wimp_GainCaret                  *       &C
  72. Wimp_PollwordNonZero            *       &D
  73. Wimp_UserMessage                *       &11
  74. Wimp_UserMessageRecorded        *       &12
  75. Wimp_UserMessageAcknowledge     *       &13
  76. Wimp_MaskNull                   *       &1
  77. Wimp_QueueRedraw                *       &2
  78. Wimp_MaskLeaving                *       &10
  79. Wimp_MaskEntering               *       &20
  80. Wimp_QueueMouse                 *       &40
  81. Wimp_QueueKey                   *       &100
  82. Wimp_MaskLose                   *       &800
  83. Wimp_MaskGain                   *       &1000
  84. Wimp_MaskPollword               *       &2000
  85. Wimp_MaskMessage                *       &20000
  86. Wimp_MaskRecorded               *       &40000
  87. Wimp_MaskAcknowledge            *       &80000
  88. Wimp_GivenPollword              *       &400000
  89. Wimp_PollHighPriority           *       &800000
  90. Wimp_SaveFP                     *       &1000000
  91. Wimp_Broadcast                  *       &0
  92. Wimp_Background                 *       &FFFFFFFF
  93. Wimp_IconBar                    *       &FFFFFFFE
  94. Wimp_IconBarRight               *       &FFFFFFFF
  95. Wimp_IconBarLeft                *       &FFFFFFFE
  96. Wimp_IconBarLeftRelative        *       &FFFFFFFD
  97. Wimp_IconBarRightRelative       *       &FFFFFFFC
  98. Wimp_IconBarLeftHighPriority    *       &FFFFFFFB
  99. Wimp_IconBarLeftLowPriority     *       &FFFFFFFA
  100. Wimp_IconBarRightLowPriority    *       &FFFFFFF9
  101. Wimp_IconBarRightHighPriority   *       &FFFFFFF8
  102. Wimp_Top                        *       &FFFFFFFF
  103. Wimp_Bottom                     *       &FFFFFFFE
  104. Wimp_Hidden                     *       &FFFFFFFD
  105. Wimp_NoIcon                     *       &FFFFFFFF
  106. Wimp_IconWindow                 *       &FFFFFFFF
  107. Wimp_IconBack                   *       &FFFFFFFE
  108. Wimp_IconClose                  *       &FFFFFFFD
  109. Wimp_IconTitle                  *       &FFFFFFFC
  110. Wimp_IconToggle                 *       &FFFFFFFB
  111. Wimp_IconScrollUp               *       &FFFFFFFA
  112. Wimp_IconVScroll                *       &FFFFFFF9
  113. Wimp_IconScrollDown             *       &FFFFFFF8
  114. Wimp_IconSize                   *       &FFFFFFF7
  115. Wimp_IconScrollLeft             *       &FFFFFFF6
  116. Wimp_IconHScroll                *       &FFFFFFF5
  117. Wimp_IconScrollRight            *       &FFFFFFF4
  118. Wimp_IconFrame                  *       &FFFFFFF3
  119. Wimp_WindowMoveable             *       &2
  120. Wimp_WindowAutoRedraw           *       &10
  121. Wimp_WindowPane                 *       &20
  122. Wimp_WindowNoBounds             *       &40
  123. Wimp_WindowScrollRepeat         *       &100
  124. Wimp_WindowScroll               *       &200
  125. Wimp_WindowRealColours          *       &400
  126. Wimp_WindowBack                 *       &800
  127. Wimp_WindowHotKeys              *       &1000
  128. Wimp_WindowBounded              *       &2000
  129. Wimp_WindowIgnoreXExtent        *       &4000
  130. Wimp_WindowIgnoreYExtent        *       &8000
  131. Wimp_WindowOpen                 *       &10000
  132. Wimp_WindowNotCovered           *       &20000
  133. Wimp_WindowFullSize             *       &40000
  134. Wimp_WindowToggled              *       &80000
  135. Wimp_WindowHasFocus             *       &100000
  136. Wimp_WindowBoundedOnce          *       &200000
  137. Wimp_WindowBackIcon             *       &1000000
  138. Wimp_WindowCloseIcon            *       &2000000
  139. Wimp_WindowTitleIcon            *       &4000000
  140. Wimp_WindowToggleIcon           *       &8000000
  141. Wimp_WindowVScroll              *       &10000000
  142. Wimp_WindowSizeIcon             *       &20000000
  143. Wimp_WindowHScroll              *       &40000000
  144. Wimp_WindowNewFormat            *       &80000000
  145. Wimp_IconText                   *       &1
  146. Wimp_IconSprite                 *       &2
  147. Wimp_IconBorder                 *       &4
  148. Wimp_IconHCentred               *       &8
  149. Wimp_IconVCentred               *       &10
  150. Wimp_IconFilled                 *       &20
  151. Wimp_IconAntiAliased            *       &40
  152. Wimp_IconNeedsHelp              *       &80
  153. Wimp_IconIndirected             *       &100
  154. Wimp_IconRJustified             *       &200
  155. Wimp_IconAllowAdjust            *       &400
  156. Wimp_IconHalfSize               *       &800
  157. Wimp_IconButtonTypeShift        *       12
  158. Wimp_IconButtonType             *       &F000
  159. Wimp_IconESGShift               *       16
  160. Wimp_IconESG                    *       &1F0000
  161. Wimp_IconSelected               *       &200000
  162. Wimp_IconShaded                 *       &400000
  163. Wimp_IconDeleted                *       &800000
  164. Wimp_IconFGColourShift          *       24
  165. Wimp_IconFGColour               *       &F000000
  166. Wimp_IconBGColourShift          *       28
  167. Wimp_IconBGColour               *       &F0000000
  168. Wimp_IconFontHandleShift        *       24
  169. Wimp_IconFontHandle             *       &FF000000
  170. Wimp_ButtonNever                *       &0
  171. Wimp_ButtonAlways               *       &1
  172. Wimp_ButtonRepeat               *       &2
  173. Wimp_ButtonClick                *       &3
  174. Wimp_ButtonRelease              *       &4
  175. Wimp_ButtonDoubleClick          *       &5
  176. Wimp_ButtonClickDrag            *       &6
  177. Wimp_ButtonReleaseDrag          *       &7
  178. Wimp_ButtonDoubleDrag           *       &8
  179. Wimp_ButtonMenuIcon             *       &9
  180. Wimp_ButtonDoubleClickDrag      *       &A
  181. Wimp_ButtonRadio                *       &B
  182. Wimp_ButtonWriteClickDrag       *       &E
  183. Wimp_ButtonWritable             *       &F
  184. Wimp_MenuTicked                 *       &1
  185. Wimp_MenuSeparate               *       &2
  186. Wimp_MenuWritable               *       &4
  187. Wimp_MenuGiveWarning            *       &8
  188. Wimp_MenuSubMenuWhenShaded      *       &10
  189. Wimp_MenuLast                   *       &80
  190. Wimp_MenuTitleIndirected        *       &100
  191. Wimp_CloseMenu                  *       &FFFFFFFF
  192. Wimp_NoSubMenu                  *       &FFFFFFFF
  193. Wimp_DeferSubMenu               *       &1
  194. Wimp_NoFonts                    *       &FFFFFFFF
  195. Wimp_ClickAdjust                *       &1
  196. Wimp_DoubleAdjust               *       &1
  197. Wimp_ClickMenu                  *       &2
  198. Wimp_ClickSelect                *       &4
  199. Wimp_DoubleSelect               *       &4
  200. Wimp_DragAdjust                 *       &10
  201. Wimp_DragSelect                 *       &40
  202. Wimp_SingleAdjust               *       &100
  203. Wimp_SingleSelect               *       &400
  204. Wimp_MenuItemHeight             *       44
  205. Wimp_MenuItemGap                *       0
  206. Wimp_MenuItemSeparation         *       24
  207. Wimp_DragSystemPosition         *       &1
  208. Wimp_DragSystemSize             *       &2
  209. Wimp_DragSystemHScroll          *       &3
  210. Wimp_DragSystemVScroll          *       &4
  211. Wimp_DragUserFixed              *       &5
  212. Wimp_DragUserRubber             *       &6
  213. Wimp_DragUserPoint              *       &7
  214. Wimp_DragAsmFixed               *       &8
  215. Wimp_DragAsmRubber              *       &9
  216. Wimp_DragAsmFixedIndefinite     *       &A
  217. Wimp_DragAsmRubberIndefinite    *       &B
  218. Wimp_DragSystemScrollBoth       *       &C
  219. Wimp_KeyBackspace               *       &8
  220. Wimp_KeyReturn                  *       &D
  221. Wimp_KeyEscape                  *       &1B
  222. Wimp_KeyHome                    *       &1E
  223. Wimp_KeyDelete                  *       &7F
  224. Wimp_KeyShift                   *       &10
  225. Wimp_KeyControl                 *       &20
  226. Wimp_KeyPrint                   *       &180
  227. Wimp_KeyF1                      *       &181
  228. Wimp_KeyF2                      *       &182
  229. Wimp_KeyF3                      *       &183
  230. Wimp_KeyF4                      *       &184
  231. Wimp_KeyF5                      *       &185
  232. Wimp_KeyF6                      *       &186
  233. Wimp_KeyF7                      *       &187
  234. Wimp_KeyF8                      *       &188
  235. Wimp_KeyF9                      *       &189
  236. Wimp_KeyTab                     *       &18A
  237. Wimp_KeyCopy                    *       &18B
  238. Wimp_KeyLeft                    *       &18C
  239. Wimp_KeyRight                   *       &18D
  240. Wimp_KeyF10                     *       &1CA
  241. Wimp_KeyF11                     *       &1CB
  242. Wimp_KeyF12                     *       &1CC
  243. Wimp_KeyInsert                  *       &1CD
  244. Wimp_KeyDown                    *       &18E
  245. Wimp_KeyUp                      *       &18F
  246. Wimp_KeyPageDown                *       &19E
  247. Wimp_KeyPageUp                  *       &19F
  248. Message_Quit                    *       &0
  249. Message_DataSave                *       &1
  250. Message_DataSaveAck             *       &2
  251. Message_DataLoad                *       &3
  252. Message_DataLoadAck             *       &4
  253. Message_DataOpen                *       &5
  254. Message_RAMFetch                *       &6
  255. Message_RAMTransmit             *       &7
  256. Message_Prequit                 *       &8
  257. Message_PaletteChange           *       &9
  258. Message_SaveDesktop             *       &A
  259. Message_DeviceClaim             *       &B
  260. Message_DeviceInUse             *       &C
  261. Message_DataSaved               *       &D
  262. Message_Shutdown                *       &E
  263. Message_ClaimEntity             *       &F
  264. Message_DataRequest             *       &10
  265. Message_Dragging                *       &11
  266. Message_DragClaim               *       &12
  267. Message_MenuWarning             *       &400C0
  268. Message_ModeChange              *       &400C1
  269. Message_TaskInitialise          *       &400C2
  270. Message_TaskCloseDown           *       &400C3
  271. Message_SlotSize                *       &400C4
  272. Message_SetSlot                 *       &400C5
  273. Message_TaskNameRq              *       &400C6
  274. Message_TaskNameIs              *       &400C7
  275. Message_TaskStarted             *       &400C8
  276. Message_MenusDeleted            *       &400C9
  277. Message_Iconise                 *       &400CA
  278. Message_WindowClosed            *       &400CB
  279. Message_WindowInfo              *       &400CC
  280. Message_Swap                    *       &400CD
  281. Message_ToolsChanged            *       &400CE
  282. Message_FontChanged             *       &400CF
  283. Wimp_ErrorBoxOKIcon             *       &1
  284. Wimp_ErrorBoxCancelIcon         *       &2
  285. Wimp_ErrorBoxHighlightCancel    *       &4
  286. Wimp_ErrorBoxNoPrompt           *       &8
  287. Wimp_ErrorBoxShortTitle         *       &10
  288. Wimp_ErrorBoxLeaveOpen          *       &20
  289. Wimp_ErrorBoxClose              *       &40
  290. Wimp_ErrorBoxNoBeep             *       &80
  291. Wimp_ErrorBoxGivenCategory      *       &100
  292. Wimp_ErrorBoxCategory           *       &E00
  293. Wimp_ErrorBoxCategoryShift      *       9
  294. Wimp_ErrorBoxCategoryInfo       *       &1
  295. Wimp_ErrorBoxCategoryError      *       &2
  296. Wimp_ErrorBoxCategoryProgram    *       &3
  297. Wimp_ErrorBoxCategoryQuestion   *       &4
  298. Wimp_ErrorBoxSelectedNothing    *       &0
  299. Wimp_ErrorBoxSelectedOK         *       &1
  300. Wimp_ErrorBoxSelectedCancel     *       &2
  301. Wimp_ColourWhite                *       &0
  302. Wimp_ColourVeryLightGrey        *       &1
  303. Wimp_ColourLightGrey            *       &2
  304. Wimp_ColourMidLightGrey         *       &3
  305. Wimp_ColourMidDarkGrey          *       &4
  306. Wimp_ColourDarkGrey             *       &5
  307. Wimp_ColourVeryDarkGrey         *       &6
  308. Wimp_ColourBlack                *       &7
  309. Wimp_ColourDarkBlue             *       &8
  310. Wimp_ColourYellow               *       &9
  311. Wimp_ColourLightGreen           *       &A
  312. Wimp_ColourRed                  *       &B
  313. Wimp_ColourCream                *       &C
  314. Wimp_ColourDarkGreen            *       &D
  315. Wimp_ColourOrange               *       &E
  316. Wimp_ColourLightBlue            *       &F
  317. Wimp_ColourTransparent          *       &FFFFFFFF
  318. Wimp_PreQuitTaskOnly            *       &1
  319. Error_WimpNoClaim               *       &280
  320. Error_WimpBadOp                 *       &281
  321. Error_WimpRectFull              *       &282
  322. Error_WimpTooMany               *       &283
  323. Error_WimpTooBig                *       &284
  324. Error_WimpDivBy0                *       &285
  325. Error_WimpGetRect               *       &286
  326. Error_WimpFocus                 *       &287
  327. Error_WimpBadHandle             *       &288
  328. Error_WimpTooMenus              *       &289
  329. Error_WimpBadExtent             *       &28A
  330. Error_WimpBadPointer            *       &28B
  331. Error_WimpNoTemplateFile        *       &28C
  332. Error_WimpBadTemplate           *       &28D
  333. Error_WimpBadFonts              *       &28E
  334. Error_WimpBadSyntax             *       &28F
  335. Error_WimpNoTasks               *       &290
  336. Error_WimpNoTemplate            *       &291
  337. Error_WimpNotPresent            *       &292
  338. Error_WimpInUse                 *       &293
  339. Error_WimpBadPalFile            *       &294
  340. Error_WimpBadVersion            *       &295
  341. Error_WimpBadMessageSize        *       &296
  342. Error_WimpBadReasonCode         *       &297
  343. Error_WimpBadTaskHandle         *       &298
  344. Error_WimpCantTask              *       &299
  345. Error_WimpBadSubMenu            *       &29A
  346. Error_WimpOwnerWindow           *       &29B
  347. Error_WimpBadMode               *       &29C
  348. Error_WimpBadTransfer           *       &29D
  349. Error_WimpBadSysInfo            *       &29E
  350. Error_WimpBadPtrInR1            *       &29F
  351. Error_WimpBadEscapeState        *       &2A0
  352. Error_WimpBadIconHandle         *       &2A1
  353. Error_WimpBadR3                 *       &2A2
  354. Error_WimpNoDotInFilename       *       &2A3
  355. Error_WimpTemplateEOF           *       &2A4
  356. Error_WimpBadSlot               *       &2A5
  357. Error_WimpBadConfFont           *       &2A6
  358. Error_WimpNoSprites             *       &2A7
  359. Error_WimpBadPalFile2           *       &2A8
  360. Error_WimpBadSprites            *       &2A9
  361. Wimp_PriorityTaskManager        *       &60000000
  362. Wimp_PriorityPaletteUtility     *       &20000000
  363. Wimp_PriorityADFSFilerHardDiscs *       &70000000
  364. Wimp_PriorityADFSFilerFloppyDiscs *       &60000000
  365. Wimp_PriorityResourceFiler      *       &50000000
  366. Wimp_PriorityRAMFSFiler         *       &40000000
  367. Wimp_PriorityNFSFiler           *       &30000000
  368. Wimp_PriorityNetFiler           *       &20000000
  369. Wimp_PriorityPrinters           *       &F000000
  370. Wimp_PriorityTinyDirs           *       &C0000000
  371. Wimp_GivenWindowAndIcon         *       &1
  372. Wimp_DefaultPalette             *       &FFFFFFFF
  373. Wimp_Palette                    *       &0
  374. WimpTextOp_GivenBaseline        *       &40000000
  375. WimpTextOp_RJustify             *       &80000000
  376.  
  377. ;Symbols for structure offsets and sizes
  378. Wimp_W                          *       4 ;abstract type
  379. Wimp_I                          *       Int
  380.  
  381. Wimp_T                          *       4 ;abstract type
  382. Wimp_Colour                     *       Byte
  383.  
  384. Wimp_VersionNo                  *       Int
  385.  
  386. Wimp_EventNo                    *       Int
  387.  
  388. Wimp_PollFlags                  *       Bits
  389.  
  390. Wimp_WindowFlags                *       Bits
  391.  
  392. Wimp_IconFlags                  *       Bits
  393.  
  394. Wimp_MenuFlags                  *       Bits
  395.  
  396. Wimp_MouseState                 *       Bits
  397.  
  398. Wimp_DragType                   *       Int
  399.  
  400. Wimp_KeyNo                      *       Int
  401.  
  402. Wimp_ErrorBoxFlags              *       Bits
  403.  
  404. Wimp_ErrorBoxSelection          *       Int
  405.  
  406.                                 ^       0
  407. Wimp_IconData_text              #       12*Char
  408.                                 ^       0
  409. Wimp_IconData_sprite            #       12*Char
  410.                                 ^       0
  411. Wimp_IconData_text_and_sprite   #       12*Char
  412.                                 ^       0
  413. Wimp_IconData_indirected_text_text #       Ptr
  414. Wimp_IconData_indirected_text_validation #       Ptr
  415. Wimp_IconData_indirected_text_size #       Int
  416.                                 ^       0
  417. Wimp_IconData_indirected_sprite_id #       OSSpriteOp_Id
  418. Wimp_IconData_indirected_sprite_area #       Ptr
  419. Wimp_IconData_indirected_sprite_size #       Int
  420.                                 ^       0
  421. Wimp_IconData_indirected_text_and_sprite_text #       Ptr
  422. Wimp_IconData_indirected_text_and_sprite_validation #       Ptr
  423. Wimp_IconData_indirected_text_and_sprite_size #       Int
  424. Wimp_IconData                   *       @
  425.  
  426.                                 ^       0
  427. Wimp_Icon_extent                #       OS_Box
  428. Wimp_Icon_flags                 #       Wimp_IconFlags
  429. Wimp_Icon_data                  #       Wimp_IconData
  430. Wimp_Icon                       *       @
  431.  
  432.                                 ^       0
  433. Wimp_IconCreate_w               #       Wimp_W
  434. Wimp_IconCreate_icon            #       Wimp_Icon
  435. Wimp_IconCreate                 *       @
  436.  
  437.                                 ^       0
  438. Wimp_Window_visible             #       OS_Box
  439. Wimp_Window_xscroll             #       Int
  440. Wimp_Window_yscroll             #       Int
  441. Wimp_Window_next                #       Wimp_W
  442. Wimp_Window_flags               #       Wimp_WindowFlags
  443. Wimp_Window_title_fg            #       Wimp_Colour
  444. Wimp_Window_title_bg            #       Wimp_Colour
  445. Wimp_Window_work_fg             #       Wimp_Colour
  446. Wimp_Window_work_bg             #       Wimp_Colour
  447. Wimp_Window_scroll_outer        #       Wimp_Colour
  448. Wimp_Window_scroll_inner        #       Wimp_Colour
  449. Wimp_Window_highlight_bg        #       Wimp_Colour
  450. Wimp_Window_reserved            #       Wimp_Colour
  451. Wimp_Window_extent              #       OS_Box
  452. Wimp_Window_title_flags         #       Wimp_IconFlags
  453. Wimp_Window_work_flags          #       Wimp_IconFlags
  454. Wimp_Window_sprite_area         #       Ptr
  455. Wimp_Window_xmin                #       Short
  456. Wimp_Window_ymin                #       Short
  457. Wimp_Window_title_data          #       Wimp_IconData
  458. Wimp_Window_icon_count          #       Int
  459. Wimp_Window_icons               #       Wimp_Icon
  460. Wimp_Window                     *       @
  461.  
  462.                                 ^       0
  463. Wimp_WindowState_w              #       Wimp_W
  464. Wimp_WindowState_visible        #       OS_Box
  465. Wimp_WindowState_xscroll        #       Int
  466. Wimp_WindowState_yscroll        #       Int
  467. Wimp_WindowState_next           #       Wimp_W
  468. Wimp_WindowState_flags          #       Wimp_WindowFlags
  469. Wimp_WindowState                *       @
  470.  
  471.                                 ^       0
  472. Wimp_IconState_w                #       Wimp_W
  473. Wimp_IconState_i                #       Wimp_I
  474. Wimp_IconState_icon             #       Wimp_Icon
  475. Wimp_IconState                  *       @
  476.  
  477.                                 ^       0
  478. Wimp_WindowInfo_w               #       Wimp_W
  479. Wimp_WindowInfo_visible         #       OS_Box
  480. Wimp_WindowInfo_xscroll         #       Int
  481. Wimp_WindowInfo_yscroll         #       Int
  482. Wimp_WindowInfo_next            #       Wimp_W
  483. Wimp_WindowInfo_flags           #       Wimp_WindowFlags
  484. Wimp_WindowInfo_title_fg        #       Wimp_Colour
  485. Wimp_WindowInfo_title_bg        #       Wimp_Colour
  486. Wimp_WindowInfo_work_fg         #       Wimp_Colour
  487. Wimp_WindowInfo_work_bg         #       Wimp_Colour
  488. Wimp_WindowInfo_scroll_outer    #       Wimp_Colour
  489. Wimp_WindowInfo_scroll_inner    #       Wimp_Colour
  490. Wimp_WindowInfo_highlight_bg    #       Wimp_Colour
  491. Wimp_WindowInfo_reserved        #       Wimp_Colour
  492. Wimp_WindowInfo_extent          #       OS_Box
  493. Wimp_WindowInfo_title_flags     #       Wimp_IconFlags
  494. Wimp_WindowInfo_work_flags      #       Wimp_IconFlags
  495. Wimp_WindowInfo_sprite_area     #       Ptr
  496. Wimp_WindowInfo_xmin            #       Short
  497. Wimp_WindowInfo_ymin            #       Short
  498. Wimp_WindowInfo_title_data      #       Wimp_IconData
  499. Wimp_WindowInfo_icon_count      #       Int
  500. Wimp_WindowInfo_icons           #       Wimp_Icon
  501. Wimp_WindowInfo                 *       @
  502.  
  503.                                 ^       0
  504. Wimp_Outline_w                  #       Wimp_W
  505. Wimp_Outline_outline            #       OS_Box
  506. Wimp_Outline                    *       @
  507.  
  508.                                 ^       0
  509. Wimp_Draw_w                     #       Wimp_W
  510. Wimp_Draw_box                   #       OS_Box
  511. Wimp_Draw_xscroll               #       Int
  512. Wimp_Draw_yscroll               #       Int
  513. Wimp_Draw_clip                  #       OS_Box
  514. Wimp_Draw                       *       @
  515.  
  516.                                 ^       0
  517. Wimp_Open_w                     #       Wimp_W
  518. Wimp_Open_visible               #       OS_Box
  519. Wimp_Open_xscroll               #       Int
  520. Wimp_Open_yscroll               #       Int
  521. Wimp_Open_next                  #       Wimp_W
  522. Wimp_Open                       *       @
  523.  
  524.                                 ^       0
  525. Wimp_Close_w                    #       Wimp_W
  526. Wimp_Close                      *       @
  527.  
  528.                                 ^       0
  529. Wimp_Leaving_w                  #       Wimp_W
  530. Wimp_Leaving                    *       @
  531.  
  532.                                 ^       0
  533. Wimp_Entering_w                 #       Wimp_W
  534. Wimp_Entering                   *       @
  535.  
  536.                                 ^       0
  537. Wimp_Pointer_pos                #       OS_Coord
  538. Wimp_Pointer_buttons            #       Wimp_MouseState
  539. Wimp_Pointer_w                  #       Wimp_W
  540. Wimp_Pointer_i                  #       Wimp_I
  541. Wimp_Pointer                    *       @
  542.  
  543.                                 ^       0
  544. Wimp_Dragged_final              #       OS_Box
  545. Wimp_Dragged                    *       @
  546.  
  547.                                 ^       0
  548. Wimp_Key_w                      #       Wimp_W
  549. Wimp_Key_i                      #       Wimp_I
  550. Wimp_Key_pos                    #       OS_Coord
  551. Wimp_Key_height                 #       Int
  552. Wimp_Key_index                  #       Int
  553. Wimp_Key_c                      #       Wimp_KeyNo
  554. Wimp_Key                        *       @
  555.  
  556.                                 ^       0
  557. Wimp_Selection_items            #       9*Int
  558. Wimp_Selection                  *       @
  559.  
  560.                                 ^       0
  561. Wimp_Scroll_w                   #       Wimp_W
  562. Wimp_Scroll_visible             #       OS_Box
  563. Wimp_Scroll_xscroll             #       Int
  564. Wimp_Scroll_yscroll             #       Int
  565. Wimp_Scroll_next                #       Wimp_W
  566. Wimp_Scroll_xmin                #       Int
  567. Wimp_Scroll_ymin                #       Int
  568. Wimp_Scroll                     *       @
  569.  
  570.                                 ^       0
  571. Wimp_Pollword_addr              #       Ptr
  572. Wimp_Pollword_word              #       Int
  573. Wimp_Pollword                   *       @
  574.  
  575.                                 ^       0
  576. Wimp_Drag_w                     #       Wimp_W
  577. Wimp_Drag_type                  #       Wimp_DragType
  578. Wimp_Drag_initial               #       OS_Box
  579. Wimp_Drag_bbox                  #       OS_Box
  580. Wimp_Drag_handle                #       Ptr
  581. Wimp_Drag_draw                  #       Ptr
  582. Wimp_Drag_undraw                #       Ptr
  583. Wimp_Drag_redraw                #       Ptr
  584. Wimp_Drag                       *       @
  585.  
  586.                                 ^       0
  587. Wimp_Caret_w                    #       Wimp_W
  588. Wimp_Caret_i                    #       Wimp_I
  589. Wimp_Caret_pos                  #       OS_Coord
  590. Wimp_Caret_height               #       Int
  591. Wimp_Caret_index                #       Int
  592. Wimp_Caret                      *       @
  593.  
  594.                                 ^       0
  595. Wimp_MenuEntry_menu_flags       #       Wimp_MenuFlags
  596. Wimp_MenuEntry_sub_menu         #       Ptr
  597. Wimp_MenuEntry_icon_flags       #       Wimp_IconFlags
  598. Wimp_MenuEntry_data             #       Wimp_IconData
  599. Wimp_MenuEntry                  *       @
  600.  
  601.                                 ^       0
  602. Wimp_Menu_title_data            *       @
  603. Wimp_Menu_title_data_text       #       12*Char
  604.                                 ^       Wimp_Menu_title_data
  605. Wimp_Menu_title_data_indirected_text_text #       Ptr
  606. Wimp_Menu_title_data_indirected_text_reserved #       8*Byte
  607. Wimp_Menu_title_fg              #       Wimp_Colour
  608. Wimp_Menu_title_bg              #       Wimp_Colour
  609. Wimp_Menu_work_fg               #       Wimp_Colour
  610. Wimp_Menu_work_bg               #       Wimp_Colour
  611. Wimp_Menu_width                 #       Int
  612. Wimp_Menu_height                #       Int
  613. Wimp_Menu_gap                   #       Int
  614. Wimp_Menu_entries               #       Wimp_MenuEntry
  615. Wimp_Menu                       *       @
  616.  
  617. Wimp_PreQuitFlags               *       Bits
  618.  
  619. Wimp_SaveDesktopFlags           *       Bits
  620.  
  621. Wimp_ShutdownFlags              *       Bits
  622.  
  623. Wimp_ClaimFlags                 *       Bits
  624.  
  625. Wimp_DataRequestFlags           *       Bits
  626.  
  627. Wimp_DraggingFlags              *       Bits
  628.  
  629. Wimp_DragClaimFlags             *       Bits
  630.  
  631.                                 ^       0
  632. Wimp_MessageDataXfer_w          #       Wimp_W
  633. Wimp_MessageDataXfer_i          #       Wimp_I
  634. Wimp_MessageDataXfer_pos        #       OS_Coord
  635. Wimp_MessageDataXfer_est_size   #       Int
  636. Wimp_MessageDataXfer_file_type  #       Bits
  637. Wimp_MessageDataXfer_file_name  #       212*Char
  638. Wimp_MessageDataXfer            *       @
  639.  
  640.                                 ^       0
  641. Wimp_MessageRAMXfer_addr        #       Ptr
  642. Wimp_MessageRAMXfer_size        #       Int
  643. Wimp_MessageRAMXfer             *       @
  644.  
  645.                                 ^       0
  646. Wimp_MessagePrequit_flags       #       Wimp_PreQuitFlags
  647. Wimp_MessagePrequit             *       @
  648.  
  649.                                 ^       0
  650. Wimp_MessageSaveDesktop_file    #       OS_F
  651. Wimp_MessageSaveDesktop_reserved #       3*Byte
  652. Wimp_MessageSaveDesktop_flags   #       Wimp_SaveDesktopFlags
  653. Wimp_MessageSaveDesktop         *       @
  654.  
  655.                                 ^       0
  656. Wimp_MessageDevice_major        #       Int
  657. Wimp_MessageDevice_minor        #       Int
  658. Wimp_MessageDevice_info         #       228*Char
  659. Wimp_MessageDevice              *       @
  660.  
  661.                                 ^       0
  662. Wimp_MessageDataSaved_ref       #       Int
  663. Wimp_MessageDataSaved           *       @
  664.  
  665.                                 ^       0
  666. Wimp_MessageShutdown_flags      #       Wimp_ShutdownFlags
  667. Wimp_MessageShutdown            *       @
  668.  
  669.                                 ^       0
  670. Wimp_MessageClaimEntity_flags   #       Wimp_ClaimFlags
  671. Wimp_MessageClaimEntity         *       @
  672.  
  673.                                 ^       0
  674. Wimp_MessageDataRequest_w       #       Wimp_W
  675. Wimp_MessageDataRequest_i       #       Wimp_I
  676. Wimp_MessageDataRequest_pos     #       OS_Coord
  677. Wimp_MessageDataRequest_flags   #       Wimp_DataRequestFlags
  678. Wimp_MessageDataRequest_file_types #       54*Bits
  679. Wimp_MessageDataRequest         *       @
  680.  
  681.                                 ^       0
  682. Wimp_MessageDragging_w          #       Wimp_W
  683. Wimp_MessageDragging_i          #       Wimp_I
  684. Wimp_MessageDragging_pos        #       OS_Coord
  685. Wimp_MessageDragging_flags      #       Wimp_DraggingFlags
  686. Wimp_MessageDragging_box        #       OS_Box
  687. Wimp_MessageDragging_file_types #       50*Bits
  688. Wimp_MessageDragging            *       @
  689.  
  690.                                 ^       0
  691. Wimp_MessageDragClaim_flags     #       Wimp_DragClaimFlags
  692. Wimp_MessageDragClaim_file_types #       58*Bits
  693. Wimp_MessageDragClaim           *       @
  694.  
  695.                                 ^       0
  696. Wimp_MessageMenuWarning_sub_menu #       Ptr
  697. Wimp_MessageMenuWarning_pos     #       OS_Coord
  698. Wimp_MessageMenuWarning_selection #       Wimp_Selection
  699. Wimp_MessageMenuWarning         *       @
  700.  
  701.                                 ^       0
  702. Wimp_MessageTaskInitialise_cao  #       Ptr
  703. Wimp_MessageTaskInitialise_size #       Int
  704. Wimp_MessageTaskInitialise_task_name #       228*Char
  705. Wimp_MessageTaskInitialise      *       @
  706.  
  707.                                 ^       0
  708. Wimp_MessageSlotSize_new_curr   #       Int
  709. Wimp_MessageSlotSize_new_next   #       Int
  710. Wimp_MessageSlotSize            *       @
  711.  
  712.                                 ^       0
  713. Wimp_MessageSetSlot_new_curr    #       Int
  714. Wimp_MessageSetSlot_task        #       Wimp_T
  715. Wimp_MessageSetSlot             *       @
  716.  
  717.                                 ^       0
  718. Wimp_MessageTaskNameRq_task     #       Wimp_T
  719. Wimp_MessageTaskNameRq          *       @
  720.  
  721.                                 ^       0
  722. Wimp_MessageTaskNameIs_task     #       Wimp_T
  723. Wimp_MessageTaskNameIs_size     #       Int
  724. Wimp_MessageTaskNameIs_task_name #       228*Char
  725. Wimp_MessageTaskNameIs          *       @
  726.  
  727.                                 ^       0
  728. Wimp_MessageMenusDeleted_menu   #       Ptr
  729. Wimp_MessageMenusDeleted        *       @
  730.  
  731.                                 ^       0
  732. Wimp_MessageIconise_w           #       Wimp_W
  733. Wimp_MessageIconise_task        #       Wimp_T
  734. Wimp_MessageIconise_title       #       20*Char
  735. Wimp_MessageIconise             *       @
  736.  
  737.                                 ^       0
  738. Wimp_MessageWindowClosed_w      #       Wimp_W
  739. Wimp_MessageWindowClosed        *       @
  740.  
  741.                                 ^       0
  742. Wimp_MessageWindowInfo_w        #       Wimp_W
  743. Wimp_MessageWindowInfo_reserved #       Int
  744. Wimp_MessageWindowInfo_sprite_name #       8*Char
  745. Wimp_MessageWindowInfo_title    #       20*Char
  746. Wimp_MessageWindowInfo          *       @
  747.  
  748.                                 ^       0
  749. Wimp_MessageFontChanged_font    #       Font_F
  750. Wimp_MessageFontChanged         *       @
  751.  
  752.                                 ^       0
  753. Wimp_Message_size               #       Int
  754. Wimp_Message_sender             #       Wimp_T
  755. Wimp_Message_my_ref             #       Int
  756. Wimp_Message_your_ref           #       Int
  757. Wimp_Message_action             #       Bits
  758. Wimp_Message_data               *       @
  759. Wimp_Message_data_data_xfer     #       Wimp_MessageDataXfer
  760.                                 ^       Wimp_Message_data
  761. Wimp_Message_data_ram_xfer      #       Wimp_MessageRAMXfer
  762.                                 ^       Wimp_Message_data
  763. Wimp_Message_data_prequit       #       Wimp_MessagePrequit
  764.                                 ^       Wimp_Message_data
  765. Wimp_Message_data_save_desktop  #       Wimp_MessageSaveDesktop
  766.                                 ^       Wimp_Message_data
  767. Wimp_Message_data_device        #       Wimp_MessageDevice
  768.                                 ^       Wimp_Message_data
  769. Wimp_Message_data_data_saved    #       Wimp_MessageDataSaved
  770.                                 ^       Wimp_Message_data
  771. Wimp_Message_data_shutdown      #       Wimp_MessageShutdown
  772.                                 ^       Wimp_Message_data
  773. Wimp_Message_data_claim_entity  #       Wimp_MessageClaimEntity
  774.                                 ^       Wimp_Message_data
  775. Wimp_Message_data_data_request  #       Wimp_MessageDataRequest
  776.                                 ^       Wimp_Message_data
  777. Wimp_Message_data_dragging      #       Wimp_MessageDragging
  778.                                 ^       Wimp_Message_data
  779. Wimp_Message_data_drag_claim    #       Wimp_MessageDragClaim
  780.                                 ^       Wimp_Message_data
  781. Wimp_Message_data_reserved      #       236*Byte
  782. Wimp_Message                    *       @
  783.  
  784.                                 ^       0
  785. Wimp_Block_redraw               #       Wimp_Draw
  786.                                 ^       0
  787. Wimp_Block_open                 #       Wimp_Open
  788.                                 ^       0
  789. Wimp_Block_close                #       Wimp_Close
  790.                                 ^       0
  791. Wimp_Block_leaving              #       Wimp_Leaving
  792.                                 ^       0
  793. Wimp_Block_entering             #       Wimp_Entering
  794.                                 ^       0
  795. Wimp_Block_pointer              #       Wimp_Pointer
  796.                                 ^       0
  797. Wimp_Block_dragged              #       Wimp_Dragged
  798.                                 ^       0
  799. Wimp_Block_key                  #       Wimp_Key
  800.                                 ^       0
  801. Wimp_Block_selection            #       Wimp_Selection
  802.                                 ^       0
  803. Wimp_Block_scroll               #       Wimp_Scroll
  804.                                 ^       0
  805. Wimp_Block_caret                #       Wimp_Caret
  806.                                 ^       0
  807. Wimp_Block_pollword             #       Wimp_Pollword
  808.                                 ^       0
  809. Wimp_Block_message              #       Wimp_Message
  810.                                 ^       0
  811. Wimp_Block_reserved             #       256*Byte
  812. Wimp_Block                      *       @
  813.  
  814.                                 ^       0
  815. Wimp_MessageList_messages       #       Int
  816. Wimp_MessageList                *       @
  817.  
  818. Wimp_Priority                   *       Bits
  819.  
  820. Wimp_MenuStateFlags             *       Bits
  821.  
  822. WimpTextOp_PaintFlags           *       Bits
  823.  
  824.  
  825. ;Symbols for SWI's and SWI reason codes
  826. XWimp_Initialise                *       &600C0
  827. Wimp_Initialise                 *       &400C0
  828.    ;Entry
  829.    ;  R0 = version (Wimp_VersionNo)
  830.    ;  R1 = &4B534154
  831.    ;  R2 -> name (String)
  832.    ;  R3 -> messages (Wimp_MessageList)
  833.    ;Exit
  834.    ;  R0 = version_out (Wimp_VersionNo)
  835.    ;  R1 = task_out (Wimp_T)
  836.  
  837. XWimp_CreateWindow              *       &600C1
  838. Wimp_CreateWindow               *       &400C1
  839.    ;Entry
  840.    ;  R1 -> window (Wimp_Window)
  841.    ;Exit
  842.    ;  R0 = w (Wimp_W)
  843.  
  844. XWimp_CreateIcon                *       &600C2
  845. Wimp_CreateIcon                 *       &400C2
  846.    ;Entry
  847.    ;  R1 -> icon (Wimp_IconCreate)
  848.    ;Exit
  849.    ;  R0 = i (Wimp_I)
  850.  
  851. XWimp_CreateIconRelative        *       &600C2
  852. Wimp_CreateIconRelative         *       &400C2
  853.    ;Entry
  854.    ;  R0 = neighbour (Wimp_I)
  855.    ;  R1 -> icon (Wimp_IconCreate)
  856.    ;Exit
  857.    ;  R0 = i (Wimp_I)
  858.  
  859. XWimp_CreateIconPrioritised     *       &600C2
  860. Wimp_CreateIconPrioritised      *       &400C2
  861.    ;Entry
  862.    ;  R0 = priority (Wimp_Priority)
  863.    ;  R1 -> icon (Wimp_IconCreate)
  864.    ;Exit
  865.    ;  R0 = i (Wimp_I)
  866.  
  867. XWimp_DeleteWindow              *       &600C3
  868. Wimp_DeleteWindow               *       &400C3
  869.    ;Entry
  870.    ;  R1 -> delete_window (sequence of (Wimp_W))
  871.    ;Exit
  872.    ;  R0 corrupted
  873.  
  874. XWimp_DeleteIcon                *       &600C4
  875. Wimp_DeleteIcon                 *       &400C4
  876.    ;Entry
  877.    ;  R1 -> delete_icon (sequence of (Wimp_W, Wimp_I))
  878.    ;Exit
  879.    ;  R0 corrupted
  880.  
  881. XWimp_OpenWindow                *       &600C5
  882. Wimp_OpenWindow                 *       &400C5
  883.    ;Entry
  884.    ;  R1 -> open (Wimp_Open)
  885.    ;Exit
  886.    ;  R0 corrupted
  887.  
  888. XWimp_CloseWindow               *       &600C6
  889. Wimp_CloseWindow                *       &400C6
  890.    ;Entry
  891.    ;  R1 -> close_window (sequence of (Wimp_W))
  892.    ;Exit
  893.    ;  R0 corrupted
  894.  
  895. XWimp_Poll                      *       &600C7
  896. Wimp_Poll                       *       &400C7
  897.    ;Entry
  898.    ;  R0 = mask (Wimp_PollFlags)
  899.    ;  R1 = block (pointer to Wimp_Block)
  900.    ;  R3 = pollword (pointer to Int)
  901.    ;Exit
  902.    ;  R0 = event (Wimp_EventNo)
  903.    ;  R2 corrupted
  904.  
  905. XWimp_RedrawWindow              *       &600C8
  906. Wimp_RedrawWindow               *       &400C8
  907.    ;Entry
  908.    ;  R1 = redraw (pointer to Wimp_Draw)
  909.    ;Exit
  910.    ;  R0 = more (Bool)
  911.  
  912. XWimp_UpdateWindow              *       &600C9
  913. Wimp_UpdateWindow               *       &400C9
  914.    ;Entry
  915.    ;  R1 = update (pointer to Wimp_Draw)
  916.    ;Exit
  917.    ;  R0 = more (Bool)
  918.  
  919. XWimp_GetRectangle              *       &600CA
  920. Wimp_GetRectangle               *       &400CA
  921.    ;Entry
  922.    ;  R1 = draw (pointer to Wimp_Draw)
  923.    ;Exit
  924.    ;  R0 = more (Bool)
  925.  
  926. XWimp_GetWindowState            *       &600CB
  927. Wimp_GetWindowState             *       &400CB
  928.    ;Entry
  929.    ;  R1 = state (pointer to Wimp_WindowState)
  930.    ;Exit
  931.    ;  R0 corrupted
  932.  
  933. XWimp_GetWindowInfo             *       &600CC
  934. Wimp_GetWindowInfo              *       &400CC
  935.    ;Entry
  936.    ;  R1 = info (pointer to Wimp_WindowInfo)
  937.    ;Exit
  938.    ;  R0 corrupted
  939.  
  940. XWimp_GetWindowInfoHeaderOnly   *       &600CC
  941. Wimp_GetWindowInfoHeaderOnly    *       &400CC
  942.    ;Entry
  943.    ;  R1 = &1 :OR: info (pointer to Wimp_WindowInfo)
  944.    ;Exit
  945.    ;  R0 corrupted
  946.  
  947. XWimp_SetIconState              *       &600CD
  948. Wimp_SetIconState               *       &400CD
  949.    ;Entry
  950.    ;  R1 -> state_change (sequence of (Wimp_W, Wimp_I, Wimp_IconFlags, Wimp_IconFlags))
  951.    ;Exit
  952.    ;  R0 corrupted
  953.  
  954. XWimp_GetIconState              *       &600CE
  955. Wimp_GetIconState               *       &400CE
  956.    ;Entry
  957.    ;  R1 = icon_state (pointer to Wimp_IconState)
  958.    ;Exit
  959.    ;  R0 corrupted
  960.  
  961. XWimp_GetPointerInfo            *       &600CF
  962. Wimp_GetPointerInfo             *       &400CF
  963.    ;Entry
  964.    ;  R1 = pointer (pointer to Wimp_Pointer)
  965.    ;Exit
  966.    ;  R0 corrupted
  967.  
  968. XWimp_DragBox                   *       &600D0
  969. Wimp_DragBox                    *       &400D0
  970.    ;Entry
  971.    ;  R1 -> drag (Wimp_Drag)
  972.    ;Exit
  973.    ;  R0 corrupted
  974.  
  975. XWimp_ForceRedraw               *       &600D1
  976. Wimp_ForceRedraw                *       &400D1
  977.    ;Entry
  978.    ;  R0 = w (Wimp_W)
  979.    ;  R1 = x0 (Int)
  980.    ;  R2 = y0 (Int)
  981.    ;  R3 = x1 (Int)
  982.    ;  R4 = y1 (Int)
  983.    ;Exit
  984.    ;  R0 corrupted
  985.  
  986. XWimp_SetCaretPosition          *       &600D2
  987. Wimp_SetCaretPosition           *       &400D2
  988.    ;Entry
  989.    ;  R0 = w (Wimp_W)
  990.    ;  R1 = i (Wimp_I)
  991.    ;  R2 = x (Int)
  992.    ;  R3 = y (Int)
  993.    ;  R4 = height (Int)
  994.    ;  R5 = index (Int)
  995.  
  996. XWimp_GetCaretPosition          *       &600D3
  997. Wimp_GetCaretPosition           *       &400D3
  998.    ;Entry
  999.    ;  R1 = caret (pointer to Wimp_Caret)
  1000.    ;Exit
  1001.    ;  R0 corrupted
  1002.  
  1003. XWimp_CreateMenu                *       &600D4
  1004. Wimp_CreateMenu                 *       &400D4
  1005.    ;Entry
  1006.    ;  R1 -> menu (Wimp_Menu)
  1007.    ;  R2 = x (Int)
  1008.    ;  R3 = y (Int)
  1009.    ;Exit
  1010.    ;  R0 corrupted
  1011.  
  1012. XWimp_DecodeMenu                *       &600D5
  1013. Wimp_DecodeMenu                 *       &400D5
  1014.    ;Entry
  1015.    ;  R1 -> menu (Wimp_Menu)
  1016.    ;  R2 -> selection (Wimp_Selection)
  1017.    ;  R3 = decode (pointer to String)
  1018.    ;Exit
  1019.    ;  R0 corrupted
  1020.  
  1021. XWimp_WhichIcon                 *       &600D6
  1022. Wimp_WhichIcon                  *       &400D6
  1023.    ;Entry
  1024.    ;  R0 = w (Wimp_W)
  1025.    ;  R1 = which (pointer to Wimp_I)
  1026.    ;  R2 = mask (Wimp_IconFlags)
  1027.    ;  R3 = match (Wimp_IconFlags)
  1028.    ;Exit
  1029.    ;  R0 corrupted
  1030.  
  1031. XWimp_SetExtent                 *       &600D7
  1032. Wimp_SetExtent                  *       &400D7
  1033.    ;Entry
  1034.    ;  R0 = w (Wimp_W)
  1035.    ;  R1 -> box (OS_Box)
  1036.    ;Exit
  1037.    ;  R0 corrupted
  1038.  
  1039. XWimp_SetPointerShape           *       &600D8
  1040. Wimp_SetPointerShape            *       &400D8
  1041.    ;Entry
  1042.    ;  R0 = shape_no (Int)
  1043.    ;  R1 -> shape_data (data)
  1044.    ;  R2 = width (Int)
  1045.    ;  R3 = height (Int)
  1046.    ;  R4 = xactive (Int)
  1047.    ;  R5 = yactive (Int)
  1048.    ;Exit
  1049.    ;  R0 corrupted
  1050.  
  1051. XWimp_OpenTemplate              *       &600D9
  1052. Wimp_OpenTemplate               *       &400D9
  1053.    ;Entry
  1054.    ;  R1 -> file_name (String)
  1055.    ;Exit
  1056.    ;  R0 corrupted
  1057.  
  1058. XWimp_CloseTemplate             *       &600DA
  1059. Wimp_CloseTemplate              *       &400DA
  1060.    ;Exit
  1061.    ;  R0 corrupted
  1062.  
  1063. XWimp_LoadTemplate              *       &600DB
  1064. Wimp_LoadTemplate               *       &400DB
  1065.    ;Entry
  1066.    ;  R1 = window (pointer to Wimp_Window)
  1067.    ;  R2 = data (pointer to String)
  1068.    ;  R3 -> end (Char)
  1069.    ;  R4 = font_ref (pointer to Font_F)
  1070.    ;  R5 -> name (String)
  1071.    ;  R6 = context (Int)
  1072.    ;Exit
  1073.    ;  R0 corrupted
  1074.    ;  R1 = used (Int)
  1075.    ;  R2 = data_used (Int)
  1076.    ;  R6 = context_out (Int)
  1077.  
  1078. XWimp_ProcessKey                *       &600DC
  1079. Wimp_ProcessKey                 *       &400DC
  1080.    ;Entry
  1081.    ;  R0 = c (Wimp_KeyNo)
  1082.    ;Exit
  1083.    ;  R0 corrupted
  1084.  
  1085. XWimp_CloseDown                 *       &600DD
  1086. Wimp_CloseDown                  *       &400DD
  1087.    ;Entry
  1088.    ;  R0 = t (Wimp_T)
  1089.    ;  R1 = &4B534154
  1090.    ;Exit
  1091.    ;  R0 corrupted
  1092.  
  1093. XWimp_StartTask                 *       &600DE
  1094. Wimp_StartTask                  *       &400DE
  1095.    ;Entry
  1096.    ;  R0 -> command (String)
  1097.    ;Exit
  1098.    ;  R0 = t (Wimp_T)
  1099.  
  1100. XWimp_ReportError               *       &600DF
  1101. Wimp_ReportError                *       &400DF
  1102.    ;Entry
  1103.    ;  R0 -> error (OS_Error)
  1104.    ;  R1 = flags (Wimp_ErrorBoxFlags)
  1105.    ;  R2 -> name (String)
  1106.    ;Exit
  1107.    ;  R0 corrupted
  1108.    ;  R1 = click (Wimp_ErrorBoxSelection)
  1109.  
  1110. XWimp_ReportErrorByCategory     *       &600DF
  1111. Wimp_ReportErrorByCategory      *       &400DF
  1112.    ;Entry
  1113.    ;  R0 -> error (OS_Error)
  1114.    ;  R1 = &100 :OR: flags (Wimp_ErrorBoxFlags)
  1115.    ;  R2 -> name (String)
  1116.    ;  R3 -> sprite_name (String)
  1117.    ;  R4 -> area (OSSpriteOp_Area)
  1118.    ;  R5 -> buttons (String)
  1119.    ;Exit
  1120.    ;  R0 corrupted
  1121.    ;  R1 = click (Wimp_ErrorBoxSelection)
  1122.  
  1123. XWimp_GetWindowOutline          *       &600E0
  1124. Wimp_GetWindowOutline           *       &400E0
  1125.    ;Entry
  1126.    ;  R1 = outline (pointer to Wimp_Outline)
  1127.    ;Exit
  1128.    ;  R0 corrupted
  1129.  
  1130. XWimp_PollIdle                  *       &600E1
  1131. Wimp_PollIdle                   *       &400E1
  1132.    ;Entry
  1133.    ;  R0 = mask (Wimp_PollFlags)
  1134.    ;  R1 = block (pointer to Wimp_Block)
  1135.    ;  R2 = t (OS_T)
  1136.    ;  R3 = pollword (pointer to Int)
  1137.    ;Exit
  1138.    ;  R0 = event (Wimp_EventNo)
  1139.  
  1140. XWimp_PlotIcon                  *       &600E2
  1141. Wimp_PlotIcon                   *       &400E2
  1142.    ;Entry
  1143.    ;  R1 -> icon (Wimp_Icon)
  1144.    ;Exit
  1145.    ;  R0 corrupted
  1146.  
  1147. XWimp_SetMode                   *       &600E3
  1148. Wimp_SetMode                    *       &400E3
  1149.    ;Entry
  1150.    ;  R0 = mode (OS_Mode)
  1151.    ;Exit
  1152.    ;  R0 corrupted
  1153.  
  1154. XWimp_SetPalette                *       &600E4
  1155. Wimp_SetPalette                 *       &400E4
  1156.    ;Entry
  1157.    ;  R1 -> palette (OS_Palette)
  1158.    ;Exit
  1159.    ;  R0 corrupted
  1160.  
  1161. XWimp_ReadPalette               *       &600E5
  1162. Wimp_ReadPalette                *       &400E5
  1163.    ;Entry
  1164.    ;  R1 = palette (pointer to OS_Palette)
  1165.    ;  R2 = &0
  1166.    ;Exit
  1167.    ;  R0 corrupted
  1168.  
  1169. XWimp_ReadTruePalette           *       &600E5
  1170. Wimp_ReadTruePalette            *       &400E5
  1171.    ;Entry
  1172.    ;  R1 = palette (pointer to OS_Palette)
  1173.    ;  R2 = &45555254
  1174.    ;Exit
  1175.    ;  R0 corrupted
  1176.  
  1177. XWimp_SetColour                 *       &600E6
  1178. Wimp_SetColour                  *       &400E6
  1179.    ;Entry
  1180.    ;  R0 = colour (Wimp_Colour)
  1181.    ;Exit
  1182.    ;  R0 corrupted
  1183.  
  1184. XWimp_SendMessage               *       &600E7
  1185. Wimp_SendMessage                *       &400E7
  1186.    ;Entry
  1187.    ;  R0 = event (Wimp_EventNo)
  1188.    ;  R1 = message (pointer to Wimp_Message)
  1189.    ;  R2 = to (Wimp_T)
  1190.    ;Exit
  1191.    ;  R0 corrupted
  1192.    ;  R2 corrupted
  1193.  
  1194. XWimp_SendMessageToWindow       *       &600E7
  1195. Wimp_SendMessageToWindow        *       &400E7
  1196.    ;Entry
  1197.    ;  R0 = event (Wimp_EventNo)
  1198.    ;  R1 = message (pointer to Wimp_Message)
  1199.    ;  R2 = to_w (Wimp_W)
  1200.    ;  R3 = to_i (Wimp_I)
  1201.    ;Exit
  1202.    ;  R0 corrupted
  1203.    ;  R2 = to_t (Wimp_T)
  1204.  
  1205. XWimp_CreateSubMenu             *       &600E8
  1206. Wimp_CreateSubMenu              *       &400E8
  1207.    ;Entry
  1208.    ;  R1 -> sub_menu (Wimp_Menu)
  1209.    ;  R2 = x (Int)
  1210.    ;  R3 = y (Int)
  1211.    ;Exit
  1212.    ;  R0 corrupted
  1213.  
  1214. XWimp_BaseOfSprites             *       &600EA
  1215. Wimp_BaseOfSprites              *       &400EA
  1216.    ;Exit
  1217.    ;  R0 -> rom (OSSpriteOp_Area)
  1218.    ;  R1 -> ram (OSSpriteOp_Area)
  1219.  
  1220. XWimp_BlockCopy                 *       &600EB
  1221. Wimp_BlockCopy                  *       &400EB
  1222.    ;Entry
  1223.    ;  R0 = w (Wimp_W)
  1224.    ;  R1 = x0 (Int)
  1225.    ;  R2 = y0 (Int)
  1226.    ;  R3 = x1 (Int)
  1227.    ;  R4 = y1 (Int)
  1228.    ;  R5 = X0 (Int)
  1229.    ;  R6 = Y0 (Int)
  1230.  
  1231. XWimp_SlotSize                  *       &600EC
  1232. Wimp_SlotSize                   *       &400EC
  1233.    ;Entry
  1234.    ;  R0 = new_curr_slot (Int)
  1235.    ;  R1 = new_next_slot (Int)
  1236.    ;Exit
  1237.    ;  R0 = curr_slot (Int)
  1238.    ;  R1 = next_slot (Int)
  1239.    ;  R2 = free_slot (Int)
  1240.    ;  R4 corrupted
  1241.  
  1242. XWimp_ReadPixTrans              *       &600ED
  1243. Wimp_ReadPixTrans               *       &400ED
  1244.    ;Entry
  1245.    ;  R0 = flags (OSSpriteOp_Flags)
  1246.    ;  R1 -> area (OSSpriteOp_Area)
  1247.    ;  R2 = id (OSSpriteOp_Id)
  1248.    ;  R6 = factors (pointer to OS_Factors)
  1249.    ;  R7 = trans_tab (pointer to OSSpriteOp_TransTab)
  1250.    ;Exit
  1251.    ;  R0 corrupted
  1252.  
  1253. XWimp_ClaimFreeMemory           *       &600EE
  1254. Wimp_ClaimFreeMemory            *       &400EE
  1255.  
  1256. WimpClaimFreeMemory_Alloc       *       &1
  1257.    ;Entry
  1258.    ;  R0 = &1
  1259.    ;  R1 = size (Int)
  1260.    ;Exit
  1261.    ;  R0 corrupted
  1262.    ;  R1 = size_out (Int)
  1263.    ;  R2 = blk (pointer to Void)
  1264.  
  1265. WimpClaimFreeMemory_Free        *       &0
  1266.    ;Entry
  1267.    ;  R0 = &0
  1268.    ;Exit
  1269.    ;  R0 corrupted
  1270.    ;  R1 corrupted
  1271.    ;  R2 corrupted
  1272.  
  1273. XWimp_CommandWindow             *       &600EF
  1274. Wimp_CommandWindow              *       &400EF
  1275.    ;Entry
  1276.    ;  R0 -> op (String)
  1277.    ;Exit
  1278.    ;  R0 corrupted
  1279.  
  1280. XWimp_TextColour                *       &600F0
  1281. Wimp_TextColour                 *       &400F0
  1282.    ;Entry
  1283.    ;  R0 = colour (Wimp_Colour)
  1284.    ;Exit
  1285.    ;  R0 corrupted
  1286.  
  1287. XWimp_TransferBlock             *       &600F1
  1288. Wimp_TransferBlock              *       &400F1
  1289.    ;Entry
  1290.    ;  R0 = from_t (Wimp_T)
  1291.    ;  R1 = from (pointer to data)
  1292.    ;  R2 = to_t (Wimp_T)
  1293.    ;  R3 = to (pointer to data)
  1294.    ;  R4 = len (Int)
  1295.    ;Exit
  1296.    ;  R0 corrupted
  1297.  
  1298. XWimp_SetFontColours            *       &600F3
  1299. Wimp_SetFontColours             *       &400F3
  1300.    ;Entry
  1301.    ;  R1 = fg (Wimp_Colour)
  1302.    ;  R2 = bg (Wimp_Colour)
  1303.    ;Exit
  1304.    ;  R0 corrupted
  1305.  
  1306. XWimp_GetMenuState              *       &600F4
  1307. Wimp_GetMenuState               *       &400F4
  1308.    ;Entry
  1309.    ;  R0 = flags (Wimp_MenuStateFlags)
  1310.    ;  R1 = selection (pointer to Wimp_Selection)
  1311.    ;  R2 = w (Wimp_W)
  1312.    ;  R3 = i (Wimp_I)
  1313.    ;Exit
  1314.    ;  R0 corrupted
  1315.  
  1316. XWimp_RegisterFilter            *       &600F5
  1317. Wimp_RegisterFilter             *       &400F5
  1318.    ;Entry
  1319.    ;  R0 = type (Bits)
  1320.    ;  R1 -> filter_code (code)
  1321.    ;  R2 = handle (pointer to data)
  1322.    ;Exit
  1323.    ;  R0 corrupted
  1324.  
  1325. XWimp_AddMessages               *       &600F6
  1326. Wimp_AddMessages                *       &400F6
  1327.    ;Entry
  1328.    ;  R0 -> messages (Wimp_MessageList)
  1329.    ;Exit
  1330.    ;  R0 corrupted
  1331.  
  1332. XWimp_RemoveMessages            *       &600F7
  1333. Wimp_RemoveMessages             *       &400F7
  1334.    ;Entry
  1335.    ;  R0 -> messages (Wimp_MessageList)
  1336.    ;Exit
  1337.    ;  R0 corrupted
  1338.  
  1339. XWimp_SetColourMapping          *       &600F8
  1340. Wimp_SetColourMapping           *       &400F8
  1341.    ;Entry
  1342.    ;  R1 -> palette (OS_Palette)
  1343.    ;  R2 -> map2 (Byte)
  1344.    ;  R3 -> map4 (Byte)
  1345.    ;  R4 -> map16 (Byte)
  1346.    ;  R5 = &0
  1347.    ;  R6 = &0
  1348.    ;  R7 = &0
  1349.    ;Exit
  1350.    ;  R0 corrupted
  1351.  
  1352. XWimp_TextOp                    *       &600F9
  1353. Wimp_TextOp                     *       &400F9
  1354.  
  1355. WimpTextOp_SetColour            *       &0
  1356.    ;Entry
  1357.    ;  R0 = &0
  1358.    ;  R1 = fg (OS_Colour)
  1359.    ;  R2 = bg (OS_Colour)
  1360.    ;Exit
  1361.    ;  R0 corrupted
  1362.  
  1363. WimpTextOp_StringWidth          *       &1
  1364.    ;Entry
  1365.    ;  R0 = &1
  1366.    ;  R1 -> s (String)
  1367.    ;  R2 = len (Int)
  1368.    ;Exit
  1369.    ;  R0 = width (Int)
  1370.  
  1371. WimpTextOp_Paint                *       &2
  1372.    ;Entry
  1373.    ;  R0 = &2 :OR: flags (WimpTextOp_PaintFlags)
  1374.    ;  R1 -> s (String)
  1375.    ;  R2 = &FFFFFFFF
  1376.    ;  R3 = &FFFFFFFF
  1377.    ;  R4 = x0 (Int)
  1378.    ;  R5 = y0 (Int)
  1379.  
  1380. XWimp_SetWatchdogState          *       &600FA
  1381. Wimp_SetWatchdogState           *       &400FA
  1382.    ;Entry
  1383.    ;  R0 = enable (Bool)
  1384.    ;  R1 = code_word (Int)
  1385.    ;Exit
  1386.    ;  R0 corrupted
  1387.  
  1388. XWimp_Extend                    *       &600FB
  1389. Wimp_Extend                     *       &400FB
  1390.  
  1391. XWimp_ResizeIcon                *       &600FC
  1392. Wimp_ResizeIcon                 *       &400FC
  1393.    ;Entry
  1394.    ;  R0 = w (Wimp_W)
  1395.    ;  R1 = i (Wimp_I)
  1396.    ;  R2 = x0 (Int)
  1397.    ;  R3 = y0 (Int)
  1398.    ;  R4 = x1 (Int)
  1399.    ;  R5 = y1 (Int)
  1400.    ;Exit
  1401.    ;  R0 corrupted
  1402.  
  1403. Service_Memory                  *       &11
  1404.    ;Entry
  1405.    ;  R0 = change (Int)
  1406.    ;  R1 = &11
  1407.    ;  R2 = cao (pointer to data)
  1408.  
  1409. Service_StartWimp               *       &49
  1410.    ;Entry
  1411.    ;  R1 = &49
  1412.  
  1413. Service_StartedWimp             *       &4A
  1414.    ;Entry
  1415.    ;  R1 = &4A
  1416.  
  1417. Service_MouseTrap               *       &52
  1418.    ;Entry
  1419.    ;  R1 = &52
  1420.  
  1421. Service_WimpCloseDown           *       &53
  1422.    ;Entry
  1423.    ;  R1 = &53
  1424.  
  1425. Service_WimpReportError         *       &57
  1426.    ;Entry
  1427.    ;  R0 = opening (Bool)
  1428.    ;  R1 = &57
  1429.  
  1430. Service_WimpSaveDesktop         *       &5C
  1431.    ;Entry
  1432.    ;  R0 = flags (Wimp_SaveDesktopFlags)
  1433.    ;  R1 = &5C
  1434.    ;  R2 = file (OS_F)
  1435.    ;Exit
  1436.    ;  R0 -> error (OS_Error)
  1437.    ;  R1 = unclaimed (Bool)
  1438.  
  1439. Service_WimpPalette             *       &5D
  1440.    ;Entry
  1441.    ;  R1 = &5D
  1442.  
  1443. Service_DesktopWelcome          *       &7C
  1444.    ;Entry
  1445.    ;  R1 = &7C
  1446.  
  1447. Service_ShutDown                *       &7E
  1448.    ;Entry
  1449.    ;  R1 = &7E
  1450.  
  1451. Service_ShutDownComplete        *       &80
  1452.    ;Entry
  1453.    ;  R1 = &80
  1454.  
  1455. Service_WimpSpritesMoved        *       &85
  1456.    ;Entry
  1457.    ;  R1 = &85
  1458.  
  1459. Service_WimpRegisterFilters     *       &86
  1460.    ;Entry
  1461.    ;  R1 = &86
  1462.  
  1463. Service_ErrorStarting           *       &400C0
  1464.    ;Entry
  1465.    ;  R1 = &400C0
  1466.    ;  R2 -> error (OS_Error)
  1467.    ;  R3 = flags (Wimp_ErrorBoxFlags)
  1468.    ;  R4 -> name (String)
  1469.    ;  R5 -> sprite_name (String)
  1470.    ;  R6 -> area (OSSpriteOp_Area)
  1471.    ;  R7 -> buttons (String)
  1472.    ;Exit
  1473.    ;  R2 -> error_out (OS_Error)
  1474.    ;  R3 = flags_out (Wimp_ErrorBoxFlags)
  1475.    ;  R4 -> name_out (String)
  1476.    ;  R5 -> sprite_name_out (String)
  1477.    ;  R6 -> area_out (OSSpriteOp_Area)
  1478.    ;  R7 -> buttons_out (String)
  1479.  
  1480. Service_ErrorButtonPressed      *       &400C1
  1481.    ;Entry
  1482.    ;  R0 = &0
  1483.    ;  R1 = &400C1
  1484.    ;  R2 = button (Wimp_ErrorBoxSelection)
  1485.    ;  R3 -> button_list (String)
  1486.    ;Exit
  1487.    ;  R0 = redisplay (Bool)
  1488.    ;  R1 = unclaimed (Bool)
  1489.    ;  R2 = button_out (Wimp_ErrorBoxSelection)
  1490.  
  1491. Service_ErrorEnding             *       &400C2
  1492.    ;Entry
  1493.    ;  R1 = &400C2
  1494.    ;  R2 = button (Wimp_ErrorBoxSelection)
  1495.    ;Exit
  1496.    ;  R1 = unclaimed (Bool)
  1497.    ;  R2 = button_out (Wimp_ErrorBoxSelection)
  1498.  
  1499.         ]
  1500.         END
  1501.