Home » Archimedes archive » Archimedes World » AW-1992-08.adf » AWaug92 » !AWaug92/Goodies/WimpGloss/!WimpGloss/WimpPROCs
!AWaug92/Goodies/WimpGloss/!WimpGloss/WimpPROCs
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1992-08.adf » AWaug92 |
Filename: | !AWaug92/Goodies/WimpGloss/!WimpGloss/WimpPROCs |
Read OK: | ✔ |
File size: | 13CC bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Archimedes archive » Archimedes World » AW-1992-08.adf » AWaug92 » !AWaug92/Goodies/WimpGloss/WimpPROCs
- Archimedes archive » Archimedes World » AW-1992-08.adf » AWaug92 » !AWaug92/Goodies/WimpGloss/!WimpGloss/WimpPROCs
File contents
9 7 21 14 4 8 FNWimp_WindowGetTitle(window%) The value returned by this function is the string containing the window's title. E.g. "Wimp Procedure Library : Glossary" The argument, window%, is the handle of the window whose title is desired. FNWimp_WindowLoad(window$) The value returned by this function is the handle of the window specified by the string, window$. E.g. Info_Window%=FNWimp_WindowLoad("Info") loads window "Info" from the templates file. The window is loaded from <Obey$Dir>.Templates. FNWimp_WindowLoadFrom(window$,pathname$) This has the same effect as the previous function. It loads the window given by window$, but from the templates file specified by pathname$. E.g. x%=FNWimp_WindowLoadFrom("Info","$.Templates") The value returned is the window's handle. FNWimp_WindowXOrigin This function gives the value of the x_coordinate of a window's origin (i.e. upper left-hand corner). It is used in an Event_Draw procedure. FNWimp_WindowYOrigin Same as the previous function, except that the value returned is the y-coordinate of the window origin. It is used in an Event_Draw procedure. PROCWimp_WindowBringToTop(window%) Instructs the task manager to display the window given by the handle window%. The window is drawn on top of all other windows currently on screen. PROCWimp_WindowClose(window%) Instructs the task manager to remove the window whose handle is given by window% from the list of currently active windows which are to be displayed. PROCWimp_WindowDraw(window%) Instructs the task manager to organise a complete redrawing of the window whose handle is given by window%. The redrawing procedure for this window is provided by the user via an Event_Draw routine. PROCWimp_WindowOpen(window%) Instructs the task manager to add the window whose handle is given by window% to the list of those active windows which are to be displayed. FNWimp_IconBar(Sprite$) This function places the sprite, specified by the variable Sprite$, on the icon bar (right). E.g. Bar_Icon%=FNWimp_IconBar("!task") The sprite is loaded from the Wimp sprite pool and the value returned is the icon handle. FNWimp_IconText(window%,icon%) The value of this function is a string containing the text contents of the INDIRECTED icon whose handle is icon% and whose window handle is window% If icon% is not INDIRECTED an error is generated. FNWimp_IconValidation(window%,icon%) The value of this function is the validation string for the icon whose handle is icon% plotted in the window whose handle is window%. See Programmer's Reference Manual page 1184. PROCWimp_IconDisable(window%,icon%) A call to this procedure renders the specified icon unable to be selected by clicking with the mouse etc. [ window%, icon% are the relevant window and icon handles ]. PROCWimp_IconEnable(window%,icon%) This call has the OPPOSITE effect to the IconDisable procedure. I.e. it enables the relevant icon to be selectable. PROCWimp_IconPutText(window%,icon%,text$) A call to this procedure places the string given by the variable text$ in the INDIRECTED icon whose handle is icon%, contained in the window whose handle is window%. DEF PROCIcon_PutCaret(window%,icon%,NoOfChars%) Suppose that the icon whose handle is icon%, and whose parent window has handle window% is WRITEABLE. This procedure places the caret in the icon at NoOfChars% from the left. FNWimp_MenuBuild(menu%,menu$) FNWimp_MenuChoice(level%) FNWimp_MenuCreate(menu$) FNWimp_MenuCreateColoursMenu FNWimp_MenuCreateColours(title$) FNWimp_MenuNoOfEntries(menu$) PROCWimp_MenuBackGroundColour(menu%,item%,colour%) PROCWimp_MenuCentre(menu%,item%) PROCWimp_MenuClose PROCWimp_MenuDisable(menu%,item%) PROCWimp_MenuDottedLine(menu%,item%) PROCWimp_MenuEnable(menu%,item%) PROCWimp_MenuForeGroundColour(menu%,item%,colour%) PROCWimp_MenuGlue(menu1%,item%,menu2%) PROCWimp_MenuItem(menu%,item%,item$) PROCWimp_MenuMessage(menu%,item%) PROCWimp_MenuPopUp(Menu%,x%,y%) PROCWimp_MenuPopUpBar(x%,y%) PROCWimp_MenuTick(menu%,item%) PROCWimp_MenuTitle(menu%,title$) PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) FNWimp_CancelBox(title$,message$) FNWimp_GetFilePathName FNWimp_Start(TaskName$) PROCWimp_Alert(title$,message$) PROCWimp_AlertBox(title$,message$,button%) PROCWimp_CloseDown PROCWimp_Draw(x,y) PROCWimp_ErrorBox(title$,message$) PROCWimp_Line(x,y,x1,y1) PROCWimp_Move(x,y) PROCWimp_SpritesLoad PROCWimp_SpritesPathLoad(pathname$) PROCWimp_Quit PROCWimp_WaitForEvent(mask%) FNUtils_FileLoad(pathname$) FNUtils_FileType(type%) FNUtils_GetFileFromPathname(pathname$) FNUtils_GetStringAtAddress(ptr%) FNInternal_GetFileType FNInternal_Mask(mask%) FNInternal_SaveEvent PROCInternal_Error(task%,TaskName$) PROCInternal_NonSaveEvent PROCInternal_SaveMessage PROCInternal_SetEventVariables PROCInternal_WindowDraw
00000000 39 20 37 20 32 31 20 31 34 20 34 20 38 20 0a 46 |9 7 21 14 4 8 .F| 00000010 4e 57 69 6d 70 5f 57 69 6e 64 6f 77 47 65 74 54 |NWimp_WindowGetT| 00000020 69 74 6c 65 28 77 69 6e 64 6f 77 25 29 0a 54 68 |itle(window%).Th| 00000030 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 |e value returned| 00000040 20 62 79 20 74 68 69 73 20 66 75 6e 63 74 69 6f | by this functio| 00000050 6e 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 0a |n is the string.| 00000060 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 77 |containing the w| 00000070 69 6e 64 6f 77 27 73 20 74 69 74 6c 65 2e 20 45 |indow's title. E| 00000080 2e 67 2e 20 0a 20 20 20 20 22 57 69 6d 70 20 50 |.g. . "Wimp P| 00000090 72 6f 63 65 64 75 72 65 20 4c 69 62 72 61 72 79 |rocedure Library| 000000a0 20 3a 20 47 6c 6f 73 73 61 72 79 22 20 20 20 20 | : Glossary" | 000000b0 0a 54 68 65 20 61 72 67 75 6d 65 6e 74 2c 20 77 |.The argument, w| 000000c0 69 6e 64 6f 77 25 2c 20 69 73 20 74 68 65 20 68 |indow%, is the h| 000000d0 61 6e 64 6c 65 20 6f 66 20 74 68 65 20 77 69 6e |andle of the win| 000000e0 64 6f 77 0a 77 68 6f 73 65 20 74 69 74 6c 65 20 |dow.whose title | 000000f0 69 73 20 64 65 73 69 72 65 64 2e 20 20 20 20 20 |is desired. | 00000100 20 20 20 0a 46 4e 57 69 6d 70 5f 57 69 6e 64 6f | .FNWimp_Windo| 00000110 77 4c 6f 61 64 28 77 69 6e 64 6f 77 24 29 0a 54 |wLoad(window$).T| 00000120 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 |he value returne| 00000130 64 20 62 79 20 74 68 69 73 20 66 75 6e 63 74 69 |d by this functi| 00000140 6f 6e 20 69 73 20 74 68 65 20 68 61 6e 64 6c 65 |on is the handle| 00000150 0a 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 20 73 |.of the window s| 00000160 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 |pecified by the | 00000170 73 74 72 69 6e 67 2c 20 77 69 6e 64 6f 77 24 2e |string, window$.| 00000180 0a 45 2e 67 2e 20 49 6e 66 6f 5f 57 69 6e 64 6f |.E.g. Info_Windo| 00000190 77 25 3d 46 4e 57 69 6d 70 5f 57 69 6e 64 6f 77 |w%=FNWimp_Window| 000001a0 4c 6f 61 64 28 22 49 6e 66 6f 22 29 0a 6c 6f 61 |Load("Info").loa| 000001b0 64 73 20 77 69 6e 64 6f 77 20 22 49 6e 66 6f 22 |ds window "Info"| 000001c0 20 66 72 6f 6d 20 74 68 65 20 74 65 6d 70 6c 61 | from the templa| 000001d0 74 65 73 20 66 69 6c 65 2e 0a 54 68 65 20 77 69 |tes file..The wi| 000001e0 6e 64 6f 77 20 69 73 20 6c 6f 61 64 65 64 20 66 |ndow is loaded f| 000001f0 72 6f 6d 20 3c 4f 62 65 79 24 44 69 72 3e 2e 54 |rom <Obey$Dir>.T| 00000200 65 6d 70 6c 61 74 65 73 2e 0a 46 4e 57 69 6d 70 |emplates..FNWimp| 00000210 5f 57 69 6e 64 6f 77 4c 6f 61 64 46 72 6f 6d 28 |_WindowLoadFrom(| 00000220 77 69 6e 64 6f 77 24 2c 70 61 74 68 6e 61 6d 65 |window$,pathname| 00000230 24 29 0a 54 68 69 73 20 68 61 73 20 74 68 65 20 |$).This has the | 00000240 73 61 6d 65 20 65 66 66 65 63 74 20 61 73 20 74 |same effect as t| 00000250 68 65 20 70 72 65 76 69 6f 75 73 20 66 75 6e 63 |he previous func| 00000260 74 69 6f 6e 2e 0a 49 74 20 6c 6f 61 64 73 20 74 |tion..It loads t| 00000270 68 65 20 77 69 6e 64 6f 77 20 67 69 76 65 6e 20 |he window given | 00000280 62 79 20 77 69 6e 64 6f 77 24 2c 20 62 75 74 20 |by window$, but | 00000290 66 72 6f 6d 20 74 68 65 0a 74 65 6d 70 6c 61 74 |from the.templat| 000002a0 65 73 20 66 69 6c 65 20 73 70 65 63 69 66 69 65 |es file specifie| 000002b0 64 20 62 79 20 70 61 74 68 6e 61 6d 65 24 2e 20 |d by pathname$. | 000002c0 45 2e 67 2e 20 0a 20 20 78 25 3d 46 4e 57 69 6d |E.g. . x%=FNWim| 000002d0 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 46 72 6f 6d |p_WindowLoadFrom| 000002e0 28 22 49 6e 66 6f 22 2c 22 24 2e 54 65 6d 70 6c |("Info","$.Templ| 000002f0 61 74 65 73 22 29 0a 54 68 65 20 76 61 6c 75 65 |ates").The value| 00000300 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 | returned is the| 00000310 20 77 69 6e 64 6f 77 27 73 20 68 61 6e 64 6c 65 | window's handle| 00000320 2e 0a 46 4e 57 69 6d 70 5f 57 69 6e 64 6f 77 58 |..FNWimp_WindowX| 00000330 4f 72 69 67 69 6e 0a 54 68 69 73 20 66 75 6e 63 |Origin.This func| 00000340 74 69 6f 6e 20 67 69 76 65 73 20 74 68 65 20 76 |tion gives the v| 00000350 61 6c 75 65 20 6f 66 20 74 68 65 20 78 5f 63 6f |alue of the x_co| 00000360 6f 72 64 69 6e 61 74 65 0a 6f 66 20 61 20 77 69 |ordinate.of a wi| 00000370 6e 64 6f 77 27 73 20 6f 72 69 67 69 6e 20 28 69 |ndow's origin (i| 00000380 2e 65 2e 20 75 70 70 65 72 20 6c 65 66 74 2d 68 |.e. upper left-h| 00000390 61 6e 64 20 63 6f 72 6e 65 72 29 2e 0a 0a 49 74 |and corner)...It| 000003a0 20 69 73 20 75 73 65 64 20 69 6e 20 61 6e 20 45 | is used in an E| 000003b0 76 65 6e 74 5f 44 72 61 77 20 70 72 6f 63 65 64 |vent_Draw proced| 000003c0 75 72 65 2e 0a 0a 46 4e 57 69 6d 70 5f 57 69 6e |ure...FNWimp_Win| 000003d0 64 6f 77 59 4f 72 69 67 69 6e 0a 53 61 6d 65 20 |dowYOrigin.Same | 000003e0 61 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 |as the previous | 000003f0 66 75 6e 63 74 69 6f 6e 2c 20 65 78 63 65 70 74 |function, except| 00000400 20 74 68 61 74 20 74 68 65 0a 76 61 6c 75 65 20 | that the.value | 00000410 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 20 |returned is the | 00000420 79 2d 63 6f 6f 72 64 69 6e 61 74 65 20 6f 66 20 |y-coordinate of | 00000430 74 68 65 20 77 69 6e 64 6f 77 0a 6f 72 69 67 69 |the window.origi| 00000440 6e 2e 0a 0a 49 74 20 69 73 20 75 73 65 64 20 69 |n...It is used i| 00000450 6e 20 61 6e 20 45 76 65 6e 74 5f 44 72 61 77 20 |n an Event_Draw | 00000460 70 72 6f 63 65 64 75 72 65 2e 0a 50 52 4f 43 57 |procedure..PROCW| 00000470 69 6d 70 5f 57 69 6e 64 6f 77 42 72 69 6e 67 54 |imp_WindowBringT| 00000480 6f 54 6f 70 28 77 69 6e 64 6f 77 25 29 0a 49 6e |oTop(window%).In| 00000490 73 74 72 75 63 74 73 20 74 68 65 20 74 61 73 6b |structs the task| 000004a0 20 6d 61 6e 61 67 65 72 20 74 6f 20 64 69 73 70 | manager to disp| 000004b0 6c 61 79 20 74 68 65 20 77 69 6e 64 6f 77 0a 67 |lay the window.g| 000004c0 69 76 65 6e 20 62 79 20 74 68 65 20 68 61 6e 64 |iven by the hand| 000004d0 6c 65 20 77 69 6e 64 6f 77 25 2e 0a 0a 54 68 65 |le window%...The| 000004e0 20 77 69 6e 64 6f 77 20 69 73 20 64 72 61 77 6e | window is drawn| 000004f0 20 6f 6e 20 74 6f 70 20 6f 66 20 61 6c 6c 20 6f | on top of all o| 00000500 74 68 65 72 20 77 69 6e 64 6f 77 73 0a 63 75 72 |ther windows.cur| 00000510 72 65 6e 74 6c 79 20 6f 6e 20 73 63 72 65 65 6e |rently on screen| 00000520 2e 0a 50 52 4f 43 57 69 6d 70 5f 57 69 6e 64 6f |..PROCWimp_Windo| 00000530 77 43 6c 6f 73 65 28 77 69 6e 64 6f 77 25 29 0a |wClose(window%).| 00000540 49 6e 73 74 72 75 63 74 73 20 74 68 65 20 74 61 |Instructs the ta| 00000550 73 6b 20 6d 61 6e 61 67 65 72 20 74 6f 20 72 65 |sk manager to re| 00000560 6d 6f 76 65 20 74 68 65 20 77 69 6e 64 6f 77 0a |move the window.| 00000570 77 68 6f 73 65 20 68 61 6e 64 6c 65 20 69 73 20 |whose handle is | 00000580 67 69 76 65 6e 20 62 79 20 77 69 6e 64 6f 77 25 |given by window%| 00000590 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 0a 6f | from the list.o| 000005a0 66 20 63 75 72 72 65 6e 74 6c 79 20 61 63 74 69 |f currently acti| 000005b0 76 65 20 77 69 6e 64 6f 77 73 20 77 68 69 63 68 |ve windows which| 000005c0 20 61 72 65 20 74 6f 20 62 65 0a 64 69 73 70 6c | are to be.displ| 000005d0 61 79 65 64 2e 0a 0a 50 52 4f 43 57 69 6d 70 5f |ayed...PROCWimp_| 000005e0 57 69 6e 64 6f 77 44 72 61 77 28 77 69 6e 64 6f |WindowDraw(windo| 000005f0 77 25 29 0a 49 6e 73 74 72 75 63 74 73 20 74 68 |w%).Instructs th| 00000600 65 20 74 61 73 6b 20 6d 61 6e 61 67 65 72 20 74 |e task manager t| 00000610 6f 20 6f 72 67 61 6e 69 73 65 20 61 20 63 6f 6d |o organise a com| 00000620 70 6c 65 74 65 0a 72 65 64 72 61 77 69 6e 67 20 |plete.redrawing | 00000630 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 20 77 68 |of the window wh| 00000640 6f 73 65 20 68 61 6e 64 6c 65 20 69 73 20 67 69 |ose handle is gi| 00000650 76 65 6e 20 62 79 0a 77 69 6e 64 6f 77 25 2e 0a |ven by.window%..| 00000660 54 68 65 20 72 65 64 72 61 77 69 6e 67 20 70 72 |The redrawing pr| 00000670 6f 63 65 64 75 72 65 20 66 6f 72 20 74 68 69 73 |ocedure for this| 00000680 20 77 69 6e 64 6f 77 20 69 73 20 0a 70 72 6f 76 | window is .prov| 00000690 69 64 65 64 20 62 79 20 74 68 65 20 75 73 65 72 |ided by the user| 000006a0 20 76 69 61 20 61 6e 20 45 76 65 6e 74 5f 44 72 | via an Event_Dr| 000006b0 61 77 20 72 6f 75 74 69 6e 65 2e 20 0a 50 52 4f |aw routine. .PRO| 000006c0 43 57 69 6d 70 5f 57 69 6e 64 6f 77 4f 70 65 6e |CWimp_WindowOpen| 000006d0 28 77 69 6e 64 6f 77 25 29 0a 49 6e 73 74 72 75 |(window%).Instru| 000006e0 63 74 73 20 74 68 65 20 74 61 73 6b 20 6d 61 6e |cts the task man| 000006f0 61 67 65 72 20 74 6f 20 61 64 64 20 74 68 65 20 |ager to add the | 00000700 77 69 6e 64 6f 77 20 77 68 6f 73 65 0a 68 61 6e |window whose.han| 00000710 64 6c 65 20 69 73 20 67 69 76 65 6e 20 62 79 20 |dle is given by | 00000720 77 69 6e 64 6f 77 25 20 74 6f 20 74 68 65 20 6c |window% to the l| 00000730 69 73 74 20 6f 66 20 74 68 6f 73 65 0a 61 63 74 |ist of those.act| 00000740 69 76 65 20 77 69 6e 64 6f 77 73 20 77 68 69 63 |ive windows whic| 00000750 68 20 61 72 65 20 74 6f 20 62 65 20 64 69 73 70 |h are to be disp| 00000760 6c 61 79 65 64 2e 0a 0a 0a 46 4e 57 69 6d 70 5f |layed....FNWimp_| 00000770 49 63 6f 6e 42 61 72 28 53 70 72 69 74 65 24 29 |IconBar(Sprite$)| 00000780 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 |.This function p| 00000790 6c 61 63 65 73 20 74 68 65 20 73 70 72 69 74 65 |laces the sprite| 000007a0 2c 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 |, specified by t| 000007b0 68 65 0a 76 61 72 69 61 62 6c 65 20 53 70 72 69 |he.variable Spri| 000007c0 74 65 24 2c 20 6f 6e 20 74 68 65 20 69 63 6f 6e |te$, on the icon| 000007d0 20 62 61 72 20 28 72 69 67 68 74 29 2e 20 45 2e | bar (right). E.| 000007e0 67 2e 0a 20 20 20 20 20 20 20 42 61 72 5f 49 63 |g.. Bar_Ic| 000007f0 6f 6e 25 3d 46 4e 57 69 6d 70 5f 49 63 6f 6e 42 |on%=FNWimp_IconB| 00000800 61 72 28 22 21 74 61 73 6b 22 29 0a 54 68 65 20 |ar("!task").The | 00000810 73 70 72 69 74 65 20 69 73 20 6c 6f 61 64 65 64 |sprite is loaded| 00000820 20 66 72 6f 6d 20 74 68 65 20 57 69 6d 70 20 73 | from the Wimp s| 00000830 70 72 69 74 65 20 70 6f 6f 6c 20 61 6e 64 0a 74 |prite pool and.t| 00000840 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 |he value returne| 00000850 64 20 69 73 20 74 68 65 20 69 63 6f 6e 20 68 61 |d is the icon ha| 00000860 6e 64 6c 65 2e 0a 46 4e 57 69 6d 70 5f 49 63 6f |ndle..FNWimp_Ico| 00000870 6e 54 65 78 74 28 77 69 6e 64 6f 77 25 2c 69 63 |nText(window%,ic| 00000880 6f 6e 25 29 0a 54 68 65 20 76 61 6c 75 65 20 6f |on%).The value o| 00000890 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 |f this function | 000008a0 69 73 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 |is a string cont| 000008b0 61 69 6e 69 6e 67 0a 74 68 65 20 74 65 78 74 20 |aining.the text | 000008c0 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 |contents of the | 000008d0 49 4e 44 49 52 45 43 54 45 44 20 69 63 6f 6e 20 |INDIRECTED icon | 000008e0 77 68 6f 73 65 0a 68 61 6e 64 6c 65 20 69 73 20 |whose.handle is | 000008f0 69 63 6f 6e 25 20 61 6e 64 20 77 68 6f 73 65 20 |icon% and whose | 00000900 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 69 73 |window handle is| 00000910 20 77 69 6e 64 6f 77 25 0a 0a 49 66 20 69 63 6f | window%..If ico| 00000920 6e 25 20 69 73 20 6e 6f 74 20 49 4e 44 49 52 45 |n% is not INDIRE| 00000930 43 54 45 44 20 61 6e 20 65 72 72 6f 72 20 69 73 |CTED an error is| 00000940 20 67 65 6e 65 72 61 74 65 64 2e 0a 46 4e 57 69 | generated..FNWi| 00000950 6d 70 5f 49 63 6f 6e 56 61 6c 69 64 61 74 69 6f |mp_IconValidatio| 00000960 6e 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 |n(window%,icon%)| 00000970 0a 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 |.The value of th| 00000980 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 |is function is t| 00000990 68 65 20 76 61 6c 69 64 61 74 69 6f 6e 0a 73 74 |he validation.st| 000009a0 72 69 6e 67 20 66 6f 72 20 74 68 65 20 69 63 6f |ring for the ico| 000009b0 6e 20 77 68 6f 73 65 20 68 61 6e 64 6c 65 20 69 |n whose handle i| 000009c0 73 20 69 63 6f 6e 25 20 70 6c 6f 74 74 65 64 20 |s icon% plotted | 000009d0 0a 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 20 77 |.in the window w| 000009e0 68 6f 73 65 20 68 61 6e 64 6c 65 20 69 73 20 77 |hose handle is w| 000009f0 69 6e 64 6f 77 25 2e 0a 0a 20 20 20 20 20 20 20 |indow%... | 00000a00 53 65 65 20 50 72 6f 67 72 61 6d 6d 65 72 27 73 |See Programmer's| 00000a10 20 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 | Reference Manua| 00000a20 6c 20 70 61 67 65 20 31 31 38 34 2e 0a 50 52 4f |l page 1184..PRO| 00000a30 43 57 69 6d 70 5f 49 63 6f 6e 44 69 73 61 62 6c |CWimp_IconDisabl| 00000a40 65 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 |e(window%,icon%)| 00000a50 0a 41 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 |.A call to this | 00000a60 70 72 6f 63 65 64 75 72 65 20 72 65 6e 64 65 72 |procedure render| 00000a70 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 0a |s the specified.| 00000a80 69 63 6f 6e 20 75 6e 61 62 6c 65 20 74 6f 20 62 |icon unable to b| 00000a90 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 63 6c |e selected by cl| 00000aa0 69 63 6b 69 6e 67 20 77 69 74 68 20 74 68 65 20 |icking with the | 00000ab0 0a 6d 6f 75 73 65 20 65 74 63 2e 0a 5b 20 77 69 |.mouse etc..[ wi| 00000ac0 6e 64 6f 77 25 2c 20 69 63 6f 6e 25 20 61 72 65 |ndow%, icon% are| 00000ad0 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 77 69 | the relevant wi| 00000ae0 6e 64 6f 77 20 61 6e 64 20 69 63 6f 6e 0a 20 20 |ndow and icon. | 00000af0 68 61 6e 64 6c 65 73 20 5d 2e 0a 50 52 4f 43 57 |handles ]..PROCW| 00000b00 69 6d 70 5f 49 63 6f 6e 45 6e 61 62 6c 65 28 77 |imp_IconEnable(w| 00000b10 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 0a 54 68 |indow%,icon%).Th| 00000b20 69 73 20 63 61 6c 6c 20 68 61 73 20 74 68 65 20 |is call has the | 00000b30 4f 50 50 4f 53 49 54 45 20 65 66 66 65 63 74 20 |OPPOSITE effect | 00000b40 74 6f 20 74 68 65 20 0a 49 63 6f 6e 44 69 73 61 |to the .IconDisa| 00000b50 62 6c 65 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a |ble procedure...| 00000b60 20 20 49 2e 65 2e 20 69 74 20 65 6e 61 62 6c 65 | I.e. it enable| 00000b70 73 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 69 |s the relevant i| 00000b80 63 6f 6e 20 74 6f 20 62 65 20 0a 73 65 6c 65 63 |con to be .selec| 00000b90 74 61 62 6c 65 2e 0a 50 52 4f 43 57 69 6d 70 5f |table..PROCWimp_| 00000ba0 49 63 6f 6e 50 75 74 54 65 78 74 28 77 69 6e 64 |IconPutText(wind| 00000bb0 6f 77 25 2c 69 63 6f 6e 25 2c 74 65 78 74 24 29 |ow%,icon%,text$)| 00000bc0 0a 41 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 |.A call to this | 00000bd0 70 72 6f 63 65 64 75 72 65 20 70 6c 61 63 65 73 |procedure places| 00000be0 20 74 68 65 20 73 74 72 69 6e 67 20 67 69 76 65 | the string give| 00000bf0 6e 0a 62 79 20 74 68 65 20 76 61 72 69 61 62 6c |n.by the variabl| 00000c00 65 20 74 65 78 74 24 20 69 6e 20 74 68 65 20 49 |e text$ in the I| 00000c10 4e 44 49 52 45 43 54 45 44 20 69 63 6f 6e 20 77 |NDIRECTED icon w| 00000c20 68 6f 73 65 0a 68 61 6e 64 6c 65 20 69 73 20 69 |hose.handle is i| 00000c30 63 6f 6e 25 2c 20 63 6f 6e 74 61 69 6e 65 64 20 |con%, contained | 00000c40 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 20 77 68 |in the window wh| 00000c50 6f 73 65 0a 68 61 6e 64 6c 65 20 69 73 20 77 69 |ose.handle is wi| 00000c60 6e 64 6f 77 25 2e 0a 0a 44 45 46 20 50 52 4f 43 |ndow%...DEF PROC| 00000c70 49 63 6f 6e 5f 50 75 74 43 61 72 65 74 28 77 69 |Icon_PutCaret(wi| 00000c80 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 4e 6f 4f 66 |ndow%,icon%,NoOf| 00000c90 43 68 61 72 73 25 29 0a 53 75 70 70 6f 73 65 20 |Chars%).Suppose | 00000ca0 74 68 61 74 20 74 68 65 20 69 63 6f 6e 20 77 68 |that the icon wh| 00000cb0 6f 73 65 20 68 61 6e 64 6c 65 20 69 73 20 69 63 |ose handle is ic| 00000cc0 6f 6e 25 2c 20 61 6e 64 0a 77 68 6f 73 65 20 70 |on%, and.whose p| 00000cd0 61 72 65 6e 74 20 77 69 6e 64 6f 77 20 68 61 73 |arent window has| 00000ce0 20 68 61 6e 64 6c 65 20 77 69 6e 64 6f 77 25 20 | handle window% | 00000cf0 69 73 20 0a 57 52 49 54 45 41 42 4c 45 2e 0a 20 |is .WRITEABLE.. | 00000d00 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 70 |This procedure p| 00000d10 6c 61 63 65 73 20 74 68 65 20 63 61 72 65 74 20 |laces the caret | 00000d20 69 6e 20 74 68 65 20 69 63 6f 6e 20 0a 61 74 20 |in the icon .at | 00000d30 4e 6f 4f 66 43 68 61 72 73 25 20 66 72 6f 6d 20 |NoOfChars% from | 00000d40 74 68 65 20 6c 65 66 74 2e 0a 46 4e 57 69 6d 70 |the left..FNWimp| 00000d50 5f 4d 65 6e 75 42 75 69 6c 64 28 6d 65 6e 75 25 |_MenuBuild(menu%| 00000d60 2c 6d 65 6e 75 24 29 0a 0a 0a 0a 0a 0a 46 4e 57 |,menu$)......FNW| 00000d70 69 6d 70 5f 4d 65 6e 75 43 68 6f 69 63 65 28 6c |imp_MenuChoice(l| 00000d80 65 76 65 6c 25 29 0a 0a 0a 0a 0a 0a 46 4e 57 69 |evel%)......FNWi| 00000d90 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 28 6d 65 |mp_MenuCreate(me| 00000da0 6e 75 24 29 0a 0a 0a 0a 0a 0a 46 4e 57 69 6d 70 |nu$)......FNWimp| 00000db0 5f 4d 65 6e 75 43 72 65 61 74 65 43 6f 6c 6f 75 |_MenuCreateColou| 00000dc0 72 73 4d 65 6e 75 0a 0a 0a 0a 0a 0a 46 4e 57 69 |rsMenu......FNWi| 00000dd0 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 43 6f 6c |mp_MenuCreateCol| 00000de0 6f 75 72 73 28 74 69 74 6c 65 24 29 0a 0a 0a 0a |ours(title$)....| 00000df0 0a 0a 46 4e 57 69 6d 70 5f 4d 65 6e 75 4e 6f 4f |..FNWimp_MenuNoO| 00000e00 66 45 6e 74 72 69 65 73 28 6d 65 6e 75 24 29 0a |fEntries(menu$).| 00000e10 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f 4d 65 |.....PROCWimp_Me| 00000e20 6e 75 42 61 63 6b 47 72 6f 75 6e 64 43 6f 6c 6f |nuBackGroundColo| 00000e30 75 72 28 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 63 |ur(menu%,item%,c| 00000e40 6f 6c 6f 75 72 25 29 0a 0a 0a 0a 0a 0a 50 52 4f |olour%)......PRO| 00000e50 43 57 69 6d 70 5f 4d 65 6e 75 43 65 6e 74 72 65 |CWimp_MenuCentre| 00000e60 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0a 0a 0a |(menu%,item%)...| 00000e70 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 |...PROCWimp_Menu| 00000e80 43 6c 6f 73 65 0a 0a 0a 0a 0a 0a 50 52 4f 43 57 |Close......PROCW| 00000e90 69 6d 70 5f 4d 65 6e 75 44 69 73 61 62 6c 65 28 |imp_MenuDisable(| 00000ea0 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0a 0a 0a 0a |menu%,item%)....| 00000eb0 0a 0a 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 44 |..PROCWimp_MenuD| 00000ec0 6f 74 74 65 64 4c 69 6e 65 28 6d 65 6e 75 25 2c |ottedLine(menu%,| 00000ed0 69 74 65 6d 25 29 0a 0a 0a 0a 0a 0a 50 52 4f 43 |item%)......PROC| 00000ee0 57 69 6d 70 5f 4d 65 6e 75 45 6e 61 62 6c 65 28 |Wimp_MenuEnable(| 00000ef0 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0a 0a 0a 0a |menu%,item%)....| 00000f00 0a 0a 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 46 |..PROCWimp_MenuF| 00000f10 6f 72 65 47 72 6f 75 6e 64 43 6f 6c 6f 75 72 28 |oreGroundColour(| 00000f20 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 63 6f 6c 6f |menu%,item%,colo| 00000f30 75 72 25 29 0a 0a 0a 0a 0a 0a 50 52 4f 43 57 69 |ur%)......PROCWi| 00000f40 6d 70 5f 4d 65 6e 75 47 6c 75 65 28 6d 65 6e 75 |mp_MenuGlue(menu| 00000f50 31 25 2c 69 74 65 6d 25 2c 6d 65 6e 75 32 25 29 |1%,item%,menu2%)| 00000f60 0a 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f 4d |......PROCWimp_M| 00000f70 65 6e 75 49 74 65 6d 28 6d 65 6e 75 25 2c 69 74 |enuItem(menu%,it| 00000f80 65 6d 25 2c 69 74 65 6d 24 29 0a 0a 0a 0a 0a 0a |em%,item$)......| 00000f90 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 4d 65 73 |PROCWimp_MenuMes| 00000fa0 73 61 67 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 |sage(menu%,item%| 00000fb0 29 0a 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f |)......PROCWimp_| 00000fc0 4d 65 6e 75 50 6f 70 55 70 28 4d 65 6e 75 25 2c |MenuPopUp(Menu%,| 00000fd0 78 25 2c 79 25 29 0a 0a 0a 0a 0a 0a 50 52 4f 43 |x%,y%)......PROC| 00000fe0 57 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 42 61 |Wimp_MenuPopUpBa| 00000ff0 72 28 78 25 2c 79 25 29 0a 0a 0a 0a 0a 0a 50 52 |r(x%,y%)......PR| 00001000 4f 43 57 69 6d 70 5f 4d 65 6e 75 54 69 63 6b 28 |OCWimp_MenuTick(| 00001010 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0a 0a 0a 0a |menu%,item%)....| 00001020 0a 0a 50 52 4f 43 57 69 6d 70 5f 4d 65 6e 75 54 |..PROCWimp_MenuT| 00001030 69 74 6c 65 28 6d 65 6e 75 25 2c 74 69 74 6c 65 |itle(menu%,title| 00001040 24 29 0a 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 |$)......PROCWimp| 00001050 5f 4d 65 6e 75 57 72 69 74 65 28 6d 65 6e 75 25 |_MenuWrite(menu%| 00001060 2c 69 74 65 6d 25 2c 62 75 66 66 65 72 25 2c 76 |,item%,buffer%,v| 00001070 61 6c 25 2c 42 75 66 66 65 72 4c 65 6e 67 74 68 |al%,BufferLength| 00001080 25 29 0a 0a 0a 0a 0a 0a 46 4e 57 69 6d 70 5f 43 |%)......FNWimp_C| 00001090 61 6e 63 65 6c 42 6f 78 28 74 69 74 6c 65 24 2c |ancelBox(title$,| 000010a0 6d 65 73 73 61 67 65 24 29 0a 0a 0a 0a 0a 0a 46 |message$)......F| 000010b0 4e 57 69 6d 70 5f 47 65 74 46 69 6c 65 50 61 74 |NWimp_GetFilePat| 000010c0 68 4e 61 6d 65 0a 0a 0a 0a 0a 0a 46 4e 57 69 6d |hName......FNWim| 000010d0 70 5f 53 74 61 72 74 28 54 61 73 6b 4e 61 6d 65 |p_Start(TaskName| 000010e0 24 29 0a 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 |$)......PROCWimp| 000010f0 5f 41 6c 65 72 74 28 74 69 74 6c 65 24 2c 6d 65 |_Alert(title$,me| 00001100 73 73 61 67 65 24 29 0a 0a 0a 0a 0a 0a 50 52 4f |ssage$)......PRO| 00001110 43 57 69 6d 70 5f 41 6c 65 72 74 42 6f 78 28 74 |CWimp_AlertBox(t| 00001120 69 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 2c 62 |itle$,message$,b| 00001130 75 74 74 6f 6e 25 29 0a 0a 0a 0a 0a 0a 50 52 4f |utton%)......PRO| 00001140 43 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 0a |CWimp_CloseDown.| 00001150 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f 44 72 |.....PROCWimp_Dr| 00001160 61 77 28 78 2c 79 29 0a 0a 0a 0a 0a 0a 50 52 4f |aw(x,y)......PRO| 00001170 43 57 69 6d 70 5f 45 72 72 6f 72 42 6f 78 28 74 |CWimp_ErrorBox(t| 00001180 69 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 29 0a |itle$,message$).| 00001190 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f 4c 69 |.....PROCWimp_Li| 000011a0 6e 65 28 78 2c 79 2c 78 31 2c 79 31 29 0a 0a 0a |ne(x,y,x1,y1)...| 000011b0 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f 4d 6f 76 65 |...PROCWimp_Move| 000011c0 28 78 2c 79 29 0a 0a 0a 0a 0a 0a 50 52 4f 43 57 |(x,y)......PROCW| 000011d0 69 6d 70 5f 53 70 72 69 74 65 73 4c 6f 61 64 0a |imp_SpritesLoad.| 000011e0 0a 0a 0a 0a 0a 50 52 4f 43 57 69 6d 70 5f 53 70 |.....PROCWimp_Sp| 000011f0 72 69 74 65 73 50 61 74 68 4c 6f 61 64 28 70 61 |ritesPathLoad(pa| 00001200 74 68 6e 61 6d 65 24 29 0a 0a 0a 0a 0a 0a 50 52 |thname$)......PR| 00001210 4f 43 57 69 6d 70 5f 51 75 69 74 0a 0a 0a 0a 0a |OCWimp_Quit.....| 00001220 0a 50 52 4f 43 57 69 6d 70 5f 57 61 69 74 46 6f |.PROCWimp_WaitFo| 00001230 72 45 76 65 6e 74 28 6d 61 73 6b 25 29 0a 0a 0a |rEvent(mask%)...| 00001240 0a 0a 0a 46 4e 55 74 69 6c 73 5f 46 69 6c 65 4c |...FNUtils_FileL| 00001250 6f 61 64 28 70 61 74 68 6e 61 6d 65 24 29 0a 0a |oad(pathname$)..| 00001260 0a 0a 0a 0a 46 4e 55 74 69 6c 73 5f 46 69 6c 65 |....FNUtils_File| 00001270 54 79 70 65 28 74 79 70 65 25 29 0a 0a 0a 0a 0a |Type(type%).....| 00001280 0a 46 4e 55 74 69 6c 73 5f 47 65 74 46 69 6c 65 |.FNUtils_GetFile| 00001290 46 72 6f 6d 50 61 74 68 6e 61 6d 65 28 70 61 74 |FromPathname(pat| 000012a0 68 6e 61 6d 65 24 29 0a 0a 0a 0a 0a 0a 46 4e 55 |hname$)......FNU| 000012b0 74 69 6c 73 5f 47 65 74 53 74 72 69 6e 67 41 74 |tils_GetStringAt| 000012c0 41 64 64 72 65 73 73 28 70 74 72 25 29 0a 0a 0a |Address(ptr%)...| 000012d0 0a 0a 0a 46 4e 49 6e 74 65 72 6e 61 6c 5f 47 65 |...FNInternal_Ge| 000012e0 74 46 69 6c 65 54 79 70 65 0a 0a 0a 0a 0a 0a 46 |tFileType......F| 000012f0 4e 49 6e 74 65 72 6e 61 6c 5f 4d 61 73 6b 28 6d |NInternal_Mask(m| 00001300 61 73 6b 25 29 0a 0a 0a 0a 0a 0a 46 4e 49 6e 74 |ask%)......FNInt| 00001310 65 72 6e 61 6c 5f 53 61 76 65 45 76 65 6e 74 0a |ernal_SaveEvent.| 00001320 0a 0a 0a 0a 0a 50 52 4f 43 49 6e 74 65 72 6e 61 |.....PROCInterna| 00001330 6c 5f 45 72 72 6f 72 28 74 61 73 6b 25 2c 54 61 |l_Error(task%,Ta| 00001340 73 6b 4e 61 6d 65 24 29 0a 0a 0a 0a 0a 0a 50 52 |skName$)......PR| 00001350 4f 43 49 6e 74 65 72 6e 61 6c 5f 4e 6f 6e 53 61 |OCInternal_NonSa| 00001360 76 65 45 76 65 6e 74 0a 0a 0a 0a 0a 0a 50 52 4f |veEvent......PRO| 00001370 43 49 6e 74 65 72 6e 61 6c 5f 53 61 76 65 4d 65 |CInternal_SaveMe| 00001380 73 73 61 67 65 0a 0a 0a 0a 0a 0a 50 52 4f 43 49 |ssage......PROCI| 00001390 6e 74 65 72 6e 61 6c 5f 53 65 74 45 76 65 6e 74 |nternal_SetEvent| 000013a0 56 61 72 69 61 62 6c 65 73 0a 0a 0a 0a 0a 0a 50 |Variables......P| 000013b0 52 4f 43 49 6e 74 65 72 6e 61 6c 5f 57 69 6e 64 |ROCInternal_Wind| 000013c0 6f 77 44 72 61 77 0a 0a 0a 0a 0a 0a |owDraw......| 000013cc