Home » Archimedes archive » Acorn User » AU 1993-10.adf » !OmniDesk_OmniDesk » !OmniDesk/Resources/Interface?
!OmniDesk/Resources/Interface?
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 » Acorn User » AU 1993-10.adf » !OmniDesk_OmniDesk |
Filename: | !OmniDesk/Resources/Interface? |
Read OK: | ✔ |
File size: | 5828 bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- Archimedes archive » Acorn User » AU 1993-10.adf » !OmniDesk_OmniDesk » !OmniDesk/Resources/Interface?
- Archimedes archive » Acorn User » AU 1993-11.adf » !OmniDesk_OmniDesk » !OmniDesk/Resources/Interface?
- Archimedes archive » Acorn User » Acorn User - Shareware Collection (1993).adf » Process » !Process/Interface?
File contents
Interface 2.00 � Software Interrupt 1990 See notes at end for update info...... This manual and software is public domain. It may be copied and distributed freely as long as: It is not separated from the documentation (except for commercial use) The module is not tampered with You do not claim that you have written the module Do not use any of the code contained in this module in your own code If you wish to use this in a commercial product please contact me so that I can make sure you have the latest release, please send a disk. In no circumstances shall the author be liable for any damage, loss of profits, time or data or any indirect or consequential loss rising out of the use of this software or inability to use this software. Contacts: Arcade BBS (081 654 2212) The World Of Cryton (0749 679794) All mail on the above Bulletin Bords should be mailed to JICK **************** Introduction *********************************************** Interface is a small module that allows application programmers to implement a colourful and pleasant graphical user interface. Interface provides many more functions that allows you to change the pointer shape easily and to interface with the !Help or !Spy application. The Interface module provides functions to improve the friendliness and appearance of the application. The application should still operate as stated in the Acorn guidelines in the Programmers Reference Manuals. The module implements a number of SWIs which are described further in this manual, these SWI calls can be called from any language. Most of the functions provided are specified in the icons validation string, and so no complex programming is needed to make the application look good. This guide tells you how to fully implement the features of Interface. It is split into the follow sections: The first section explains the validation strings options provided by Interface. The next section gives details of the SWI calls provided. The remaining section covers hints and tips on programming. **************** Technical details *********************************************** An indirected text icon can have a validation string which is used to pass further information to the WIMP, such as what border type the icon has and also what pointer, if any should be displayed whilst over this icon. The syntax of a validation string is: validation string ::- command {;command}* command ::- (b | z) border-type {border-spec} | r on/off-type {,icon-number}* | u on/off-type {,icon-number}* | p text-string {,x} {,y} | i text-string | k key-code border-spec ::- {,button-slabbing-mask} {,slabbing-time} {,colour}* The parameters above are described under the relevant validation command. In simple terms, a validation string consists of a series of 'commands', each starting with a single letter and seperated from the following command by a semi-colon. {}* means zero or more of the thing inside the {}. The following commands are available with the Interface module. These commands are provided in addition to the standard Wimp validation strings. I suggest that you edit the !FormEd program to allow you to enter larger validation strings, otherwise when entering a help command you will only be allowed a maximum of 80 characters. The (B)order command tells Interface which border to use when rendering an icon. The border types available at present are : border type 0, this is a single border used mainly for headings and action icons. The icon will slab inwards if the user clicks a button whilst the pointer is over the icon providing it is not setup to ignore mouse clicks. border type 1, this is a double border and should be used to group together icons that perform an operation. border type 2, this is a triple border and should be used on the default action button. The icon will slab inwards when the user clicks a button whilst the pointer is over this icon providing it is not setup to ignore mouse clicks. border type 3, this is a wide inverted border and should be used on writable icons. This border type is usually used in-conjunction with the writable pointer. border type 4, this is an inverted version of border type 0 border type 5, this is a double wide border as used by acorn in ros 3 border type 6, etched in border border type 7, similar to border type 0, thinner in mode 20 The second optional parameter is the button slabbing mask, this states whether the icon should be slabbed until the button is released. The values contained in this parameter can be from 0 to 7. The button slabbing mask can be calculated in the following way: Value Button Meaning 1 Adjust slab icon until adjust is released 2 Menu slab icon until menu is released 4 Select slab icon until select is released The button slabbing mask can then be calculated by adding together the required button values. The button slabbing time is the minimum time that the icon will be slabbed for, the default time is for 15cs. This value is a decimal number in centi-seconds. The colours are specified in the following order: {,border colour1} {,border colour2} {,slabbing out colour} {,slabbing in colour} {,inner channel colour} These colours can be any valid WIMP colour in the range of 0 to 15, the default selection is 4, 0, 1, 14, 12. The (R)adio command specified in the validation string is used to set the state of other radio button type icons. The R command is followed by a decimal number in the range 0 to 2, the action that these perform is: Radio type Operation 0 this has the effect of switching off the specified icon(s). 1 this has the effect of switching on the specified icon(s). 2 this has the effect of toggling the icons current state. This command is then followed by the numbers of the icons you wish to alter, these should be separated by commas. This command may be specified more than once in a validation string, for example to switch icons 1 & 2 off, 3 & 4 on and toggle the state of icons 5 & 6 you could use the following validation string R0,1,2;R1,3,4;R2,5,6 The (U)nselectable command in the validation string has the effect of shading the icon grey so that it cannot be selected by the user. It is followed by a decimal number in the range 0 to 2, the action that these is described above in the radio command. This command is then followed by the numbers of the icons you wish to alter, these should be separated by commas. This command may be specified more than once in a validation string, for example to shade icons 1 & 2, un-shade 3 & 4 and toggle the state of icons 5 & 6 you could use the following validation string U0,1,2;U1,3,4;U2,5,6 The (P)ointer command is used to define a pointer to be displayed when the pointer is over that icon. The first parameter is a sprite name to use for the pointer, this should be no longer than 12 characters and should be present in the WIMP sprite pool. The optional parameters specify the x and y offsets to the active point in the sprite, these should be specified in pixels. The (I)nformation command is used to define a message to be sent to the interactive help application when the pointer is over the icon. If you wish to use a semi-colon then you must place two next to each other. The maximum length of the help message is 235 characters. The Interface module will change to the specified pointer when the mouse pointer is over the icon/workarea, if no pointer is specified then the pointer will default to shape one (the default arrow shape). There are 5 pointer shapes designed in the sprite file in the !Interface directory, these are: ptr_write - this pointer should be used on writable icons, the suggested active point is at coordinates x = 4, y = 4. ptr_menu - this pointer is used where a menu can be activated by pressing the menu button over the icon. This stops the user having to search all over the window to find where the menu is. The suggested active point is x = 6, y = 5. ptr_direct - this pointer is used where an object may be re-sized, the suggested active point is at x = 13, y = 7. ptr_hand - this pointer is used where and icon may be dragged. It is usually set on the workarea, but it can be used on any icon (the save file icon looks great when using it), its suggested active point is at x = 12, y = 8. ptr_cross - this pointer is used as a crosshair, it is the same as the one used in the Draw application. This icon gives the user a precise point when working with line drawings, its suggested active point is at x = 13, y = 7. You may also design your own pointers, which should be loaded into the WIMP sprite pool. There are a few points that you should note when designing pointers these are : Pointer sprite names should have the form ptr_XXXXX, although this is not compulsory it helps so that you do not get confused with pointers and normal sprites. Do not use logical colour 2 in the pointer sprites, as this is unavailable in very high resolution modes. The pointers used should only be valid in your application, so you must not mask out the Pointer_Leaving_Window in your application. You should claim Null_Reason_Code when passed to your application, otherwise the pointer will not change when the pointer is over the icon/workarea, see the examples for more. You should support the !Help application to help new users using your application, this is why I implemented a feature in Interface to make this easier. The following was for some reason not published in the Programmers Reference Manuals, but was in the pre-release disc version of the manuals. For an application to use interactive help, two WIMP messages are employed. One is used by the Help to request help, and the other is used by the application to return the help message. To request help, the Help application sends a message of the following form: block +16 &502 - indicates request for help +20 mouse x co-ordinate +24 mouse y co-ordinate +28 mouse button state +32 window handle (-1 if not over a window) +36 icon handle (-1 if not over an icon) The WIMP system will pass this message automatically to the task in charge of the appropriate window/icon. If the application receiving the message wishes to produce some help, it should respond with the following message: block +16 &503 +20 help message terminated by 0 This message can be sent to the Help application by using Wimp_SendHelp, which is provided by the Interface module (SWI &81687). The help text may contain any printable character codes. If the sequence |M is encountered then this will be treated as a line break and subsequent text will be printed on the next line in the window. If the text is too long for one line then it will be split at a word boundary (space character). The text should consist of simple complete English sentences, each starting on a new line and ending with a full stop. The sentences should usually be simple imperatives or information such as: Click SELECT to set the alarm. You are in Select mode. Click ADJUST to change to path edit mode. This is the icon for Edit. In general you need not mention menu entries, except when specific ones interact with pointer operations. As a general rule present information of interest to the beginner near the top, and expert tips or information lower down. You must use the terminology defined. For mouse operations you must use initial capitals (for example Click). The mouse buttons must be in capitals (for example SELECT), as must key names (for example ESC, RETURN, SHIFT, CONTROL, A, B, F1, COPY). miss out speedups and shortcuts - just provide enough to help a beginner without drowning them with information. Provide interactive help thoroughly - include the icon bar, and the workarea of all your windows. If no actions are possible in a window, just This window shows.... if better than nothing. You should assume a user knows: what a MENU key is how to navigate menu trees and choose entries what the icon bar is how to move/size/toggle/close windows, and so on what 'dragging an icon' means what 'filling in a field' (writable icon) means The keycode command should be placed in the icon that is activated by the keycode. It should be a decimal integer specifying the key. The up/down arrows, tab etc.. are dealt with. **************************** The SWI Calls ********************************* Wimp_BorderIcon (Interface_SlabButton) (SWI &81680) R1 = pointer to block R1 preserved Interrupts are not defined Fast interrupts are enabled Processor is in SVC mode SWI is not re-entrant The block contains the following on entry: R1+0 mouse x (screen coordinates - not window relative) R1+4 mouse y R1+8 buttons (depending on icon button type) R1+12 window handle R1+16 icon handle This call is used to update an icons border. It is typically called as a result of a Mouse_Click event, if the icon has a border type of 0 or 2 then the icon will slab inwards. The format of the validation string is described in the previous section. The application should the perform the task and then force the icon to normal status by calling Wimp_BorderIcon (SWI &81680) with R1+8 set to 0. The code to border icons and windows is outlined in the section Programming Interface. Note that the mouse coordinates specified in R1+0 and R1+4 are not used by the SWI and are only present to make the block compatible with a Mouse_Click event block. Wimp_BorderWindow (SWI &81681) None Wimp_BorderWindow (Interface_Render3dWindow) (SWI &81681) R1 = pointer to block R1 preserved Interrupts are not defined Fast interrupts are enabled Processor is in SVC mode SWI is not re-entrant The block contains the following on entry: R1+0 window handle R1+4 visible area minimum x coordinate R1+8 visible area minimum y coordinate R1+12 visible area maximum x coordinate R1+16 visible area maximum y coordinate R1+20 scroll x offset relative to work area origin R1+24 scroll y offset relative to work area origin R1+28 current graphics window minimum x coordinate R1+32 current graphics window minimum y coordinate R1+36 current graphics window maximum x coordinate R1+40 current graphics window maximum y coordinate This call is used to redraw the borders of icons in the window that are not up-to-date, this SWI is typically called during the redraw loop of a window. The SWI will update the window, drawing borders around any icons which have the b command specified in the validation string and are within the specified graphics window. The code to border icons and windows is outlined in the section Programming Interface. Wimp_BorderIcon (SWI &81680) None Wimp_ClaimInterface (Interface_Initialise) (SWI &81682) R0 = task handle R0 preserved Interrupts are not defined Fast interrupts are enabled Processor is in SVC mode SWI is not re-entrant This SWI allows your application to use pointers via the Interface module. This SWI should be called at the beginning of your program. If you don't use Wimp_ClaimInterface then your pointers will not be displayed. Wimp_ReleaseInterface (SWI &81683) None Wimp_ReleaseInterface (Interface_CloseDown) (SWI &81683) R0 = task handle R0 preserved Interrupts are not defined Fast interrupts are enabled Processor is in SVC mode SWI is not re-entrant This SWI stops your application from using pointers. When this SWI is called Interface Manager will erase any workarea pointers assigned to your application and free the memory. This should be called in your exit handler, also if an error occurs you should also call this SWI to stop other applications from gaining your pointers. Wimp_ClaimInterface (SWI &81682) None Wimp_SetWorkareaPointer (Interface_SetWorkareaPointer) (SWI &81684) R1 = pointer to block R1 preserved Interrupt status is undefined Fast interrupts are enabled Processor is in SVC mode SWI is not re-entrant The block contains the following on entry: R1+0 window handle R1+4 minimum x coordinate of bounding box R1+8 minimum y coordinate of bounding box R1+12 maximum x coordinate of bounding box R1+16 maximum y coordinate of bounding box R1+20 24 bytes of pointer data This specifies the pointer for an area of the window. The bounding box coordinates are given relative to the window's work area origin. R1+4 to R1+16 can be set to -1 to specify the whole of the window's work area. The pointer data at +20 to +44 contains the sprite name and any x, y offset, see validation strings for more information. Wimp_RemoveWorkareaPointer (SWI &81685) Wimp_PollPointer (SWI &81686) None Wimp_RemoveWorkareaPointer (Interface_RemoveWorkareaPointer) (SWI &81685) R0 = task handle R1 = pointer to block R0 preserved R1 preserved Interrupt status is undefined Fast interrupts are enabled Processor is in SVC mode SWI is not re-entrant The block contains the following on entry: R1+0 window handle R1+4 minimum x coordinate of bounding box R1+8 minimum y coordinate of bounding box R1+12 maximum x coordinate of bounding box R1+16 maximum y coordinate of bounding box This call removes a previously installed pointer from the list of active pointer areas for the specified window. When a window is deleted you should remove any pointers that were related to the window, otherwise these pointers may become active on any window which gains the same window handle in the future. The bounding box coordinates are given relative to the window's work area origin. R1+4 to R1+16 can be set to -1 to specify the whole of the window's work area. R1+4 to R1+16 may be set to 0 to remove all work area pointers assigned to the window. Wimp_SetWorkareaPointer (SWI &81684) Wimp_PollPointer (SWI &81686) None Wimp_PollPointer (Interface_Poll) (SWI &81686) R0 = Wimp_Poll reason code R2 = task handle R0 preserved R@ preserved Interrupt status is undefined Fast interrupts are enabled Processor is in SVC mode SWI not re-entrant This call checks to see if the pointer is up-to-date. If the pointer is not up-to-date it will change to the pointer specified in the icons validation string. If the pointer is not over an icon then the pointer will change according to the position on the window background. Note that wimp_poll reason codes 0 and 4 should not be masked out, otherwise the pointer will be out-of-date and will not function correctly. Wimp_SetWorkareaPointer (SWI &81684) Wimp_RemoveWorkareaPointer (SWI &81685) None Wimp_SendInformation (Interface_SendHelp) (SWI &81687) R1 = message block as returned from help application R1 preserved Interrupt status is undefined Fast interrupts are enabled Processor is in SVC mode SWI not re-entrant This call returns a help text message to the interactive help application. It should be called when a message with the number &502 is received and the pointer is over an icon. If there is a message in the icons validation string that the pointer is currently over then this will be sent to the help application. It is up to the applications programmer to take care of the help message when the pointer is over the icon on the icon bar or is over the window workarea. None None Wimp_PreProcessKey (Interface_PreProcessKey) (SWI &81688) R0 = event type R1 = event block R2 = task handle R0 = updated to new event type R1 = updated event block R2 = 0 if event was not dealt intercepted This call pre-processes the up, down, tab, shift-tab keys and any specified in a specific icons validation string using the command k<keycode>. The SWI will move icon, if neccessary or activate a button. This call sould be called after the wimp_poll command, it will match the key to an icon and if neccessary modify your wimp poll block and event type. Wimp_BorderPlotIcon (Interface_Plot3dIcon) (SWI &81689) R0 = window state (either from wimp_update/redraw or from a wimp_getwindowstate) R1 = icon block as for Wimp_PlotIcon This call plots a border on a window like Wimp_PlotIcon. The icon block passed in R1 should contain a block as described for Wimp_PlotIcon in the PRMs. Wimp_BorderBoundingBox (Interface_BoundingBox) (SWI &8168A) R1 = icon block as for Wimp_PlotIcon R1 = updates icon block offset 0 min x 4 min y 8 max x 12 max y 16 border width 20 button slab state (1 = out, 0 = in) This call returns information about the icon block passed to it. If you wish to get the size of an icons box use Wimp_GetIconState and then pass the icon block returned to this function. Changes from version 1.32 this version has been fully re-written using the acorn aof assembler. border type has changed to z to avoid conflicts with risc-os 3 Interface_Plot3dIcon has been changed so the first parameter is a window state block instead of a window handle names has changed to interface_...., old names are still supported better redraw code to correct problems with multi-sync modes where the icons were not alligned correctly. Interface_BoundingBox now returns the state of the button new border types *command to allow changes in the slabbing colours.
00000000 49 6e 74 65 72 66 61 63 65 20 32 2e 30 30 20 0a |Interface 2.00 .| 00000010 a9 20 53 6f 66 74 77 61 72 65 20 49 6e 74 65 72 |. Software Inter| 00000020 72 75 70 74 20 31 39 39 30 0a 0a 53 65 65 20 6e |rupt 1990..See n| 00000030 6f 74 65 73 20 61 74 20 65 6e 64 20 66 6f 72 20 |otes at end for | 00000040 75 70 64 61 74 65 20 69 6e 66 6f 2e 2e 2e 2e 2e |update info.....| 00000050 2e 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 61 |...This manual a| 00000060 6e 64 20 73 6f 66 74 77 61 72 65 20 69 73 20 70 |nd software is p| 00000070 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 20 20 49 |ublic domain. I| 00000080 74 20 6d 61 79 20 62 65 20 63 6f 70 69 65 64 20 |t may be copied | 00000090 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 64 20 |and distributed | 000000a0 66 72 65 65 6c 79 20 0a 61 73 20 6c 6f 6e 67 20 |freely .as long | 000000b0 61 73 3a 0a 0a 20 20 20 20 20 20 20 49 74 20 69 |as:.. It i| 000000c0 73 20 6e 6f 74 20 73 65 70 61 72 61 74 65 64 20 |s not separated | 000000d0 66 72 6f 6d 20 74 68 65 20 64 6f 63 75 6d 65 6e |from the documen| 000000e0 74 61 74 69 6f 6e 20 28 65 78 63 65 70 74 20 66 |tation (except f| 000000f0 6f 72 20 63 6f 6d 6d 65 72 63 69 61 6c 20 75 73 |or commercial us| 00000100 65 29 0a 20 20 20 20 20 20 20 54 68 65 20 6d 6f |e). The mo| 00000110 64 75 6c 65 20 69 73 20 6e 6f 74 20 74 61 6d 70 |dule is not tamp| 00000120 65 72 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 |ered with. | 00000130 20 59 6f 75 20 64 6f 20 6e 6f 74 20 63 6c 61 69 | You do not clai| 00000140 6d 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 |m that you have | 00000150 77 72 69 74 74 65 6e 20 74 68 65 20 6d 6f 64 75 |written the modu| 00000160 6c 65 0a 20 20 20 20 20 20 20 44 6f 20 6e 6f 74 |le. Do not| 00000170 20 75 73 65 20 61 6e 79 20 6f 66 20 74 68 65 20 | use any of the | 00000180 63 6f 64 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 |code contained i| 00000190 6e 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e |n this module in| 000001a0 20 79 6f 75 72 20 6f 77 6e 20 63 6f 64 65 0a 0a | your own code..| 000001b0 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 75 |If you wish to u| 000001c0 73 65 20 74 68 69 73 20 69 6e 20 61 20 63 6f 6d |se this in a com| 000001d0 6d 65 72 63 69 61 6c 20 70 72 6f 64 75 63 74 20 |mercial product | 000001e0 70 6c 65 61 73 65 20 63 6f 6e 74 61 63 74 20 6d |please contact m| 000001f0 65 20 73 6f 20 74 68 61 74 20 49 20 63 61 6e 20 |e so that I can | 00000200 6d 61 6b 65 20 0a 73 75 72 65 20 79 6f 75 20 68 |make .sure you h| 00000210 61 76 65 20 74 68 65 20 6c 61 74 65 73 74 20 72 |ave the latest r| 00000220 65 6c 65 61 73 65 2c 20 70 6c 65 61 73 65 20 73 |elease, please s| 00000230 65 6e 64 20 61 20 64 69 73 6b 2e 0a 0a 49 6e 20 |end a disk...In | 00000240 6e 6f 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 |no circumstances| 00000250 20 73 68 61 6c 6c 20 74 68 65 20 61 75 74 68 6f | shall the autho| 00000260 72 20 62 65 20 6c 69 61 62 6c 65 20 66 6f 72 20 |r be liable for | 00000270 61 6e 79 20 64 61 6d 61 67 65 2c 20 6c 6f 73 73 |any damage, loss| 00000280 20 6f 66 20 70 72 6f 66 69 74 73 2c 20 74 69 6d | of profits, tim| 00000290 65 20 6f 72 20 0a 64 61 74 61 20 6f 72 20 61 6e |e or .data or an| 000002a0 79 20 69 6e 64 69 72 65 63 74 20 6f 72 20 63 6f |y indirect or co| 000002b0 6e 73 65 71 75 65 6e 74 69 61 6c 20 6c 6f 73 73 |nsequential loss| 000002c0 20 72 69 73 69 6e 67 20 6f 75 74 20 6f 66 20 74 | rising out of t| 000002d0 68 65 20 75 73 65 20 6f 66 20 74 68 69 73 20 73 |he use of this s| 000002e0 6f 66 74 77 61 72 65 20 6f 72 20 0a 69 6e 61 62 |oftware or .inab| 000002f0 69 6c 69 74 79 20 74 6f 20 75 73 65 20 74 68 69 |ility to use thi| 00000300 73 20 73 6f 66 74 77 61 72 65 2e 0a 0a 43 6f 6e |s software...Con| 00000310 74 61 63 74 73 3a 0a 20 20 20 20 20 20 20 41 72 |tacts:. Ar| 00000320 63 61 64 65 20 42 42 53 20 20 20 20 20 20 20 20 |cade BBS | 00000330 20 20 28 30 38 31 20 36 35 34 20 32 32 31 32 29 | (081 654 2212)| 00000340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000350 20 20 20 0a 20 20 20 20 20 20 20 54 68 65 20 57 | . The W| 00000360 6f 72 6c 64 20 4f 66 20 43 72 79 74 6f 6e 20 28 |orld Of Cryton (| 00000370 30 37 34 39 20 36 37 39 37 39 34 29 20 20 20 20 |0749 679794) | 00000380 20 0a 0a 20 20 20 20 20 20 20 41 6c 6c 20 6d 61 | .. All ma| 00000390 69 6c 20 6f 6e 20 74 68 65 20 61 62 6f 76 65 20 |il on the above | 000003a0 42 75 6c 6c 65 74 69 6e 20 42 6f 72 64 73 20 73 |Bulletin Bords s| 000003b0 68 6f 75 6c 64 20 62 65 20 6d 61 69 6c 65 64 20 |hould be mailed | 000003c0 74 6f 20 4a 49 43 4b 0a 0a 2a 2a 2a 2a 2a 2a 2a |to JICK..*******| 000003d0 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 49 6e 74 72 6f 64 |********* Introd| 000003e0 75 63 74 69 6f 6e 20 2a 2a 2a 2a 2a 2a 2a 2a 2a |uction *********| 000003f0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 00000410 2a 2a 2a 2a 2a 2a 0a 20 0a 49 6e 74 65 72 66 61 |******. .Interfa| 00000420 63 65 20 69 73 20 61 20 73 6d 61 6c 6c 20 6d 6f |ce is a small mo| 00000430 64 75 6c 65 20 74 68 61 74 20 61 6c 6c 6f 77 73 |dule that allows| 00000440 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 70 72 6f | application pro| 00000450 67 72 61 6d 6d 65 72 73 20 74 6f 20 69 6d 70 6c |grammers to impl| 00000460 65 6d 65 6e 74 20 61 20 0a 63 6f 6c 6f 75 72 66 |ement a .colourf| 00000470 75 6c 20 61 6e 64 20 70 6c 65 61 73 61 6e 74 20 |ul and pleasant | 00000480 67 72 61 70 68 69 63 61 6c 20 75 73 65 72 20 69 |graphical user i| 00000490 6e 74 65 72 66 61 63 65 2e 20 20 49 6e 74 65 72 |nterface. Inter| 000004a0 66 61 63 65 20 70 72 6f 76 69 64 65 73 20 6d 61 |face provides ma| 000004b0 6e 79 20 6d 6f 72 65 20 0a 66 75 6e 63 74 69 6f |ny more .functio| 000004c0 6e 73 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 79 |ns that allows y| 000004d0 6f 75 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 |ou to change the| 000004e0 20 70 6f 69 6e 74 65 72 20 73 68 61 70 65 20 65 | pointer shape e| 000004f0 61 73 69 6c 79 20 61 6e 64 20 74 6f 20 69 6e 74 |asily and to int| 00000500 65 72 66 61 63 65 20 77 69 74 68 20 74 68 65 20 |erface with the | 00000510 0a 21 48 65 6c 70 20 6f 72 20 21 53 70 79 20 61 |.!Help or !Spy a| 00000520 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 0a 54 68 65 |pplication...The| 00000530 20 49 6e 74 65 72 66 61 63 65 20 6d 6f 64 75 6c | Interface modul| 00000540 65 20 70 72 6f 76 69 64 65 73 20 66 75 6e 63 74 |e provides funct| 00000550 69 6f 6e 73 20 74 6f 20 69 6d 70 72 6f 76 65 20 |ions to improve | 00000560 74 68 65 20 66 72 69 65 6e 64 6c 69 6e 65 73 73 |the friendliness| 00000570 20 61 6e 64 20 61 70 70 65 61 72 61 6e 63 65 20 | and appearance | 00000580 0a 6f 66 20 74 68 65 20 61 70 70 6c 69 63 61 74 |.of the applicat| 00000590 69 6f 6e 2e 20 54 68 65 20 61 70 70 6c 69 63 61 |ion. The applica| 000005a0 74 69 6f 6e 20 73 68 6f 75 6c 64 20 73 74 69 6c |tion should stil| 000005b0 6c 20 6f 70 65 72 61 74 65 20 61 73 20 73 74 61 |l operate as sta| 000005c0 74 65 64 20 69 6e 20 20 74 68 65 20 41 63 6f 72 |ted in the Acor| 000005d0 6e 20 0a 67 75 69 64 65 6c 69 6e 65 73 20 69 6e |n .guidelines in| 000005e0 20 74 68 65 20 50 72 6f 67 72 61 6d 6d 65 72 73 | the Programmers| 000005f0 20 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 | Reference Manua| 00000600 6c 73 2e 0a 0a 54 68 65 20 6d 6f 64 75 6c 65 20 |ls...The module | 00000610 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 6e 75 6d |implements a num| 00000620 62 65 72 20 6f 66 20 53 57 49 73 20 77 68 69 63 |ber of SWIs whic| 00000630 68 20 61 72 65 20 64 65 73 63 72 69 62 65 64 20 |h are described | 00000640 66 75 72 74 68 65 72 20 69 6e 20 74 68 69 73 20 |further in this | 00000650 0a 6d 61 6e 75 61 6c 2c 20 74 68 65 73 65 20 53 |.manual, these S| 00000660 57 49 20 63 61 6c 6c 73 20 63 61 6e 20 62 65 20 |WI calls can be | 00000670 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 6e 79 20 |called from any | 00000680 6c 61 6e 67 75 61 67 65 2e 20 20 4d 6f 73 74 20 |language. Most | 00000690 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 |of the functions| 000006a0 20 0a 70 72 6f 76 69 64 65 64 20 61 72 65 20 73 | .provided are s| 000006b0 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 |pecified in the | 000006c0 69 63 6f 6e 73 20 76 61 6c 69 64 61 74 69 6f 6e |icons validation| 000006d0 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 73 6f 20 | string, and so | 000006e0 6e 6f 20 63 6f 6d 70 6c 65 78 20 0a 70 72 6f 67 |no complex .prog| 000006f0 72 61 6d 6d 69 6e 67 20 69 73 20 6e 65 65 64 65 |ramming is neede| 00000700 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 61 70 |d to make the ap| 00000710 70 6c 69 63 61 74 69 6f 6e 20 6c 6f 6f 6b 20 67 |plication look g| 00000720 6f 6f 64 2e 0a 0a 54 68 69 73 20 67 75 69 64 65 |ood...This guide| 00000730 20 74 65 6c 6c 73 20 79 6f 75 20 68 6f 77 20 74 | tells you how t| 00000740 6f 20 66 75 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e |o fully implemen| 00000750 74 20 74 68 65 20 66 65 61 74 75 72 65 73 20 6f |t the features o| 00000760 66 20 49 6e 74 65 72 66 61 63 65 2e 20 20 49 74 |f Interface. It| 00000770 20 69 73 20 73 70 6c 69 74 20 69 6e 74 6f 20 0a | is split into .| 00000780 74 68 65 20 66 6f 6c 6c 6f 77 20 73 65 63 74 69 |the follow secti| 00000790 6f 6e 73 3a 0a 0a 20 20 20 20 20 20 20 20 54 68 |ons:.. Th| 000007a0 65 20 66 69 72 73 74 20 73 65 63 74 69 6f 6e 20 |e first section | 000007b0 65 78 70 6c 61 69 6e 73 20 74 68 65 20 76 61 6c |explains the val| 000007c0 69 64 61 74 69 6f 6e 20 73 74 72 69 6e 67 73 20 |idation strings | 000007d0 6f 70 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 |options provided| 000007e0 0a 20 20 20 20 20 20 20 20 62 79 20 49 6e 74 65 |. by Inte| 000007f0 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 54 |rface.. T| 00000800 68 65 20 6e 65 78 74 20 73 65 63 74 69 6f 6e 20 |he next section | 00000810 67 69 76 65 73 20 64 65 74 61 69 6c 73 20 6f 66 |gives details of| 00000820 20 74 68 65 20 53 57 49 20 63 61 6c 6c 73 20 70 | the SWI calls p| 00000830 72 6f 76 69 64 65 64 2e 0a 20 20 20 20 20 20 20 |rovided.. | 00000840 20 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 | The remaining s| 00000850 65 63 74 69 6f 6e 20 63 6f 76 65 72 73 20 68 69 |ection covers hi| 00000860 6e 74 73 20 61 6e 64 20 74 69 70 73 20 6f 6e 20 |nts and tips on | 00000870 70 72 6f 67 72 61 6d 6d 69 6e 67 2e 0a 0a 0a 0a |programming.....| 00000880 0a 0a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |...*************| 00000890 2a 2a 2a 20 54 65 63 68 6e 69 63 61 6c 20 64 65 |*** Technical de| 000008a0 74 61 69 6c 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |tails **********| 000008b0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 000008d0 2a 2a 2a 2a 2a 0a 0a 41 6e 20 69 6e 64 69 72 65 |*****..An indire| 000008e0 63 74 65 64 20 74 65 78 74 20 69 63 6f 6e 20 63 |cted text icon c| 000008f0 61 6e 20 68 61 76 65 20 61 20 76 61 6c 69 64 61 |an have a valida| 00000900 74 69 6f 6e 20 73 74 72 69 6e 67 20 77 68 69 63 |tion string whic| 00000910 68 20 69 73 20 75 73 65 64 20 74 6f 20 70 61 73 |h is used to pas| 00000920 73 20 66 75 72 74 68 65 72 20 0a 69 6e 66 6f 72 |s further .infor| 00000930 6d 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 57 49 |mation to the WI| 00000940 4d 50 2c 20 73 75 63 68 20 61 73 20 77 68 61 74 |MP, such as what| 00000950 20 62 6f 72 64 65 72 20 74 79 70 65 20 74 68 65 | border type the| 00000960 20 69 63 6f 6e 20 68 61 73 20 61 6e 64 20 61 6c | icon has and al| 00000970 73 6f 20 77 68 61 74 20 0a 70 6f 69 6e 74 65 72 |so what .pointer| 00000980 2c 20 69 66 20 61 6e 79 20 73 68 6f 75 6c 64 20 |, if any should | 00000990 62 65 20 64 69 73 70 6c 61 79 65 64 20 77 68 69 |be displayed whi| 000009a0 6c 73 74 20 6f 76 65 72 20 74 68 69 73 20 69 63 |lst over this ic| 000009b0 6f 6e 2e 20 20 54 68 65 20 73 79 6e 74 61 78 20 |on. The syntax | 000009c0 6f 66 20 61 20 76 61 6c 69 64 61 74 69 6f 6e 20 |of a validation | 000009d0 0a 73 74 72 69 6e 67 20 69 73 3a 0a 0a 20 20 76 |.string is:.. v| 000009e0 61 6c 69 64 61 74 69 6f 6e 20 73 74 72 69 6e 67 |alidation string| 000009f0 20 3a 3a 2d 20 63 6f 6d 6d 61 6e 64 20 7b 3b 63 | ::- command {;c| 00000a00 6f 6d 6d 61 6e 64 7d 2a 0a 20 20 63 6f 6d 6d 61 |ommand}*. comma| 00000a10 6e 64 20 20 20 20 20 20 20 20 20 20 20 3a 3a 2d |nd ::-| 00000a20 20 28 62 20 7c 20 7a 29 20 62 6f 72 64 65 72 2d | (b | z) border-| 00000a30 74 79 70 65 20 7b 62 6f 72 64 65 72 2d 73 70 65 |type {border-spe| 00000a40 63 7d 20 7c 20 0a 20 20 20 20 20 20 20 20 20 20 |c} | . | 00000a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 | r | 00000a60 6f 6e 2f 6f 66 66 2d 74 79 70 65 20 7b 2c 69 63 |on/off-type {,ic| 00000a70 6f 6e 2d 6e 75 6d 62 65 72 7d 2a 20 7c 0a 20 20 |on-number}* |. | 00000a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000a90 20 20 20 20 20 20 75 20 6f 6e 2f 6f 66 66 2d 74 | u on/off-t| 00000aa0 79 70 65 20 7b 2c 69 63 6f 6e 2d 6e 75 6d 62 65 |ype {,icon-numbe| 00000ab0 72 7d 2a 20 7c 0a 20 20 20 20 20 20 20 20 20 20 |r}* |. | 00000ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 20 | p | 00000ad0 74 65 78 74 2d 73 74 72 69 6e 67 20 7b 2c 78 7d |text-string {,x}| 00000ae0 20 7b 2c 79 7d 20 7c 0a 20 20 20 20 20 20 20 20 | {,y} |. | 00000af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000b00 69 20 74 65 78 74 2d 73 74 72 69 6e 67 20 7c 0a |i text-string |.| 00000b10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000b20 20 20 20 20 20 20 20 20 6b 20 6b 65 79 2d 63 6f | k key-co| 00000b30 64 65 0a 20 20 62 6f 72 64 65 72 2d 73 70 65 63 |de. border-spec| 00000b40 20 20 20 20 20 20 20 3a 3a 2d 20 7b 2c 62 75 74 | ::- {,but| 00000b50 74 6f 6e 2d 73 6c 61 62 62 69 6e 67 2d 6d 61 73 |ton-slabbing-mas| 00000b60 6b 7d 20 7b 2c 73 6c 61 62 62 69 6e 67 2d 74 69 |k} {,slabbing-ti| 00000b70 6d 65 7d 20 7b 2c 63 6f 6c 6f 75 72 7d 2a 0a 0a |me} {,colour}*..| 00000b80 54 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 61 |The parameters a| 00000b90 62 6f 76 65 20 61 72 65 20 64 65 73 63 72 69 62 |bove are describ| 00000ba0 65 64 20 75 6e 64 65 72 20 74 68 65 20 72 65 6c |ed under the rel| 00000bb0 65 76 61 6e 74 20 76 61 6c 69 64 61 74 69 6f 6e |evant validation| 00000bc0 20 63 6f 6d 6d 61 6e 64 2e 0a 49 6e 20 73 69 6d | command..In sim| 00000bd0 70 6c 65 20 74 65 72 6d 73 2c 20 61 20 76 61 6c |ple terms, a val| 00000be0 69 64 61 74 69 6f 6e 20 73 74 72 69 6e 67 20 63 |idation string c| 00000bf0 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 72 |onsists of a ser| 00000c00 69 65 73 20 6f 66 20 27 63 6f 6d 6d 61 6e 64 73 |ies of 'commands| 00000c10 27 2c 20 65 61 63 68 20 73 74 61 72 74 69 6e 67 |', each starting| 00000c20 20 0a 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 | .with a single | 00000c30 6c 65 74 74 65 72 20 61 6e 64 20 73 65 70 65 72 |letter and seper| 00000c40 61 74 65 64 20 66 72 6f 6d 20 74 68 65 20 66 6f |ated from the fo| 00000c50 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 |llowing command | 00000c60 62 79 20 61 20 73 65 6d 69 2d 63 6f 6c 6f 6e 2e |by a semi-colon.| 00000c70 20 20 0a 7b 7d 2a 20 6d 65 61 6e 73 20 7a 65 72 | .{}* means zer| 00000c80 6f 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 |o or more of the| 00000c90 20 74 68 69 6e 67 20 69 6e 73 69 64 65 20 74 68 | thing inside th| 00000ca0 65 20 7b 7d 2e 20 20 54 68 65 20 66 6f 6c 6c 6f |e {}. The follo| 00000cb0 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 61 72 |wing commands ar| 00000cc0 65 20 0a 61 76 61 69 6c 61 62 6c 65 20 77 69 74 |e .available wit| 00000cd0 68 20 74 68 65 20 49 6e 74 65 72 66 61 63 65 20 |h the Interface | 00000ce0 6d 6f 64 75 6c 65 2e 0a 0a 54 68 65 73 65 20 63 |module...These c| 00000cf0 6f 6d 6d 61 6e 64 73 20 61 72 65 20 70 72 6f 76 |ommands are prov| 00000d00 69 64 65 64 20 69 6e 20 61 64 64 69 74 69 6f 6e |ided in addition| 00000d10 20 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72 64 | to the standard| 00000d20 20 57 69 6d 70 20 76 61 6c 69 64 61 74 69 6f 6e | Wimp validation| 00000d30 20 73 74 72 69 6e 67 73 2e 20 20 0a 49 20 73 75 | strings. .I su| 00000d40 67 67 65 73 74 20 74 68 61 74 20 79 6f 75 20 65 |ggest that you e| 00000d50 64 69 74 20 74 68 65 20 21 46 6f 72 6d 45 64 20 |dit the !FormEd | 00000d60 70 72 6f 67 72 61 6d 20 74 6f 20 61 6c 6c 6f 77 |program to allow| 00000d70 20 79 6f 75 20 74 6f 20 65 6e 74 65 72 20 6c 61 | you to enter la| 00000d80 72 67 65 72 20 76 61 6c 69 64 61 74 69 6f 6e 20 |rger validation | 00000d90 0a 73 74 72 69 6e 67 73 2c 20 6f 74 68 65 72 77 |.strings, otherw| 00000da0 69 73 65 20 77 68 65 6e 20 65 6e 74 65 72 69 6e |ise when enterin| 00000db0 67 20 61 20 68 65 6c 70 20 63 6f 6d 6d 61 6e 64 |g a help command| 00000dc0 20 79 6f 75 20 77 69 6c 6c 20 6f 6e 6c 79 20 62 | you will only b| 00000dd0 65 20 61 6c 6c 6f 77 65 64 20 61 20 0a 6d 61 78 |e allowed a .max| 00000de0 69 6d 75 6d 20 6f 66 20 38 30 20 63 68 61 72 61 |imum of 80 chara| 00000df0 63 74 65 72 73 2e 0a 0a 54 68 65 20 28 42 29 6f |cters...The (B)o| 00000e00 72 64 65 72 20 63 6f 6d 6d 61 6e 64 20 74 65 6c |rder command tel| 00000e10 6c 73 20 49 6e 74 65 72 66 61 63 65 20 77 68 69 |ls Interface whi| 00000e20 63 68 20 62 6f 72 64 65 72 20 74 6f 20 75 73 65 |ch border to use| 00000e30 20 77 68 65 6e 20 72 65 6e 64 65 72 69 6e 67 20 | when rendering | 00000e40 61 6e 20 69 63 6f 6e 2e 20 20 0a 54 68 65 20 62 |an icon. .The b| 00000e50 6f 72 64 65 72 20 74 79 70 65 73 20 61 76 61 69 |order types avai| 00000e60 6c 61 62 6c 65 20 61 74 20 70 72 65 73 65 6e 74 |lable at present| 00000e70 20 61 72 65 20 3a 0a 0a 20 20 20 20 20 20 20 20 | are :.. | 00000e80 62 6f 72 64 65 72 20 74 79 70 65 20 30 2c 20 74 |border type 0, t| 00000e90 68 69 73 20 69 73 20 61 20 73 69 6e 67 6c 65 20 |his is a single | 00000ea0 62 6f 72 64 65 72 20 75 73 65 64 20 6d 61 69 6e |border used main| 00000eb0 6c 79 20 66 6f 72 20 68 65 61 64 69 6e 67 73 20 |ly for headings | 00000ec0 61 6e 64 20 61 63 74 69 6f 6e 20 69 63 6f 6e 73 |and action icons| 00000ed0 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 69 63 |.. The ic| 00000ee0 6f 6e 20 77 69 6c 6c 20 73 6c 61 62 20 69 6e 77 |on will slab inw| 00000ef0 61 72 64 73 20 69 66 20 74 68 65 20 75 73 65 72 |ards if the user| 00000f00 20 63 6c 69 63 6b 73 20 61 20 62 75 74 74 6f 6e | clicks a button| 00000f10 20 77 68 69 6c 73 74 20 74 68 65 20 70 6f 69 6e | whilst the poin| 00000f20 74 65 72 20 69 73 20 6f 76 65 72 20 0a 20 20 20 |ter is over . | 00000f30 20 20 20 20 20 74 68 65 20 69 63 6f 6e 20 70 72 | the icon pr| 00000f40 6f 76 69 64 69 6e 67 20 69 74 20 69 73 20 6e 6f |oviding it is no| 00000f50 74 20 73 65 74 75 70 20 74 6f 20 69 67 6e 6f 72 |t setup to ignor| 00000f60 65 20 6d 6f 75 73 65 20 63 6c 69 63 6b 73 2e 0a |e mouse clicks..| 00000f70 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 20 |. border | 00000f80 74 79 70 65 20 31 2c 20 74 68 69 73 20 69 73 20 |type 1, this is | 00000f90 61 20 64 6f 75 62 6c 65 20 62 6f 72 64 65 72 20 |a double border | 00000fa0 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 75 73 |and should be us| 00000fb0 65 64 20 74 6f 20 67 72 6f 75 70 20 74 6f 67 65 |ed to group toge| 00000fc0 74 68 65 72 20 0a 20 20 20 20 20 20 20 20 69 63 |ther . ic| 00000fd0 6f 6e 73 20 74 68 61 74 20 70 65 72 66 6f 72 6d |ons that perform| 00000fe0 20 61 6e 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 0a | an operation...| 00000ff0 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 20 74 | border t| 00001000 79 70 65 20 32 2c 20 74 68 69 73 20 69 73 20 61 |ype 2, this is a| 00001010 20 74 72 69 70 6c 65 20 62 6f 72 64 65 72 20 61 | triple border a| 00001020 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 |nd should be use| 00001030 64 20 6f 6e 20 74 68 65 20 64 65 66 61 75 6c 74 |d on the default| 00001040 20 61 63 74 69 6f 6e 20 20 20 20 20 20 20 20 20 | action | 00001050 0a 20 20 20 20 20 20 20 20 62 75 74 74 6f 6e 2e |. button.| 00001060 20 20 54 68 65 20 69 63 6f 6e 20 77 69 6c 6c 20 | The icon will | 00001070 73 6c 61 62 20 69 6e 77 61 72 64 73 20 77 68 65 |slab inwards whe| 00001080 6e 20 74 68 65 20 75 73 65 72 20 63 6c 69 63 6b |n the user click| 00001090 73 20 61 20 62 75 74 74 6f 6e 20 77 68 69 6c 73 |s a button whils| 000010a0 74 20 74 68 65 20 0a 20 20 20 20 20 20 20 20 70 |t the . p| 000010b0 6f 69 6e 74 65 72 20 69 73 20 6f 76 65 72 20 74 |ointer is over t| 000010c0 68 69 73 20 69 63 6f 6e 20 70 72 6f 76 69 64 69 |his icon providi| 000010d0 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 73 65 74 |ng it is not set| 000010e0 75 70 20 74 6f 20 69 67 6e 6f 72 65 20 6d 6f 75 |up to ignore mou| 000010f0 73 65 20 63 6c 69 63 6b 73 2e 0a 0a 20 20 20 20 |se clicks... | 00001100 20 20 20 20 62 6f 72 64 65 72 20 74 79 70 65 20 | border type | 00001110 33 2c 20 74 68 69 73 20 69 73 20 61 20 77 69 64 |3, this is a wid| 00001120 65 20 69 6e 76 65 72 74 65 64 20 62 6f 72 64 65 |e inverted borde| 00001130 72 20 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 |r and should be | 00001140 75 73 65 64 20 6f 6e 20 77 72 69 74 61 62 6c 65 |used on writable| 00001150 0a 20 20 20 20 20 20 20 20 69 63 6f 6e 73 2e 20 |. icons. | 00001160 20 54 68 69 73 20 62 6f 72 64 65 72 20 74 79 70 | This border typ| 00001170 65 20 69 73 20 75 73 75 61 6c 6c 79 20 75 73 65 |e is usually use| 00001180 64 20 69 6e 2d 63 6f 6e 6a 75 6e 63 74 69 6f 6e |d in-conjunction| 00001190 20 77 69 74 68 20 74 68 65 20 77 72 69 74 61 62 | with the writab| 000011a0 6c 65 0a 20 20 20 20 20 20 20 20 70 6f 69 6e 74 |le. point| 000011b0 65 72 2e 0a 20 20 20 20 20 20 20 20 0a 20 20 20 |er.. . | 000011c0 20 20 20 20 20 62 6f 72 64 65 72 20 74 79 70 65 | border type| 000011d0 20 34 2c 20 74 68 69 73 20 69 73 20 61 6e 20 69 | 4, this is an i| 000011e0 6e 76 65 72 74 65 64 20 76 65 72 73 69 6f 6e 20 |nverted version | 000011f0 6f 66 20 62 6f 72 64 65 72 20 74 79 70 65 20 30 |of border type 0| 00001200 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 |. . | 00001210 20 20 62 6f 72 64 65 72 20 74 79 70 65 20 35 2c | border type 5,| 00001220 20 74 68 69 73 20 69 73 20 61 20 64 6f 75 62 6c | this is a doubl| 00001230 65 20 77 69 64 65 20 62 6f 72 64 65 72 20 61 73 |e wide border as| 00001240 20 75 73 65 64 20 62 79 20 61 63 6f 72 6e 20 69 | used by acorn i| 00001250 6e 20 72 6f 73 20 33 0a 20 20 20 20 20 20 20 20 |n ros 3. | 00001260 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 20 |. border | 00001270 74 79 70 65 20 36 2c 20 65 74 63 68 65 64 20 69 |type 6, etched i| 00001280 6e 20 62 6f 72 64 65 72 0a 20 20 20 20 20 20 20 |n border. | 00001290 20 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 | . border| 000012a0 20 74 79 70 65 20 37 2c 20 73 69 6d 69 6c 61 72 | type 7, similar| 000012b0 20 74 6f 20 62 6f 72 64 65 72 20 74 79 70 65 20 | to border type | 000012c0 30 2c 20 74 68 69 6e 6e 65 72 20 69 6e 20 6d 6f |0, thinner in mo| 000012d0 64 65 20 32 30 0a 0a 54 68 65 20 73 65 63 6f 6e |de 20..The secon| 000012e0 64 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d |d optional param| 000012f0 65 74 65 72 20 69 73 20 74 68 65 20 62 75 74 74 |eter is the butt| 00001300 6f 6e 20 73 6c 61 62 62 69 6e 67 20 6d 61 73 6b |on slabbing mask| 00001310 2c 20 74 68 69 73 20 73 74 61 74 65 73 20 77 68 |, this states wh| 00001320 65 74 68 65 72 20 74 68 65 20 0a 69 63 6f 6e 20 |ether the .icon | 00001330 73 68 6f 75 6c 64 20 62 65 20 73 6c 61 62 62 65 |should be slabbe| 00001340 64 20 75 6e 74 69 6c 20 74 68 65 20 62 75 74 74 |d until the butt| 00001350 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 2e 20 |on is released. | 00001360 20 54 68 65 20 76 61 6c 75 65 73 20 63 6f 6e 74 | The values cont| 00001370 61 69 6e 65 64 20 69 6e 20 74 68 69 73 20 0a 70 |ained in this .p| 00001380 61 72 61 6d 65 74 65 72 20 63 61 6e 20 62 65 20 |arameter can be | 00001390 66 72 6f 6d 20 30 20 74 6f 20 37 2e 20 20 54 68 |from 0 to 7. Th| 000013a0 65 20 62 75 74 74 6f 6e 20 73 6c 61 62 62 69 6e |e button slabbin| 000013b0 67 20 6d 61 73 6b 20 63 61 6e 20 62 65 20 63 61 |g mask can be ca| 000013c0 6c 63 75 6c 61 74 65 64 20 69 6e 20 74 68 65 20 |lculated in the | 000013d0 0a 66 6f 6c 6c 6f 77 69 6e 67 20 77 61 79 3a 0a |.following way:.| 000013e0 0a 20 20 20 20 20 20 20 20 56 61 6c 75 65 20 20 |. Value | 000013f0 20 42 75 74 74 6f 6e 20 20 20 20 20 20 20 20 20 | Button | 00001400 20 4d 65 61 6e 69 6e 67 0a 20 20 20 20 20 20 20 | Meaning. | 00001410 20 31 20 20 20 20 20 20 20 41 64 6a 75 73 74 20 | 1 Adjust | 00001420 20 73 6c 61 62 20 69 63 6f 6e 20 75 6e 74 69 6c | slab icon until| 00001430 20 61 64 6a 75 73 74 20 69 73 20 72 65 6c 65 61 | adjust is relea| 00001440 73 65 64 0a 20 20 20 20 20 20 20 20 32 20 20 20 |sed. 2 | 00001450 20 20 20 20 4d 65 6e 75 20 20 20 20 73 6c 61 62 | Menu slab| 00001460 20 69 63 6f 6e 20 75 6e 74 69 6c 20 6d 65 6e 75 | icon until menu| 00001470 20 69 73 20 72 65 6c 65 61 73 65 64 0a 20 20 20 | is released. | 00001480 20 20 20 20 20 34 20 20 20 20 20 20 20 53 65 6c | 4 Sel| 00001490 65 63 74 20 20 73 6c 61 62 20 69 63 6f 6e 20 75 |ect slab icon u| 000014a0 6e 74 69 6c 20 73 65 6c 65 63 74 20 69 73 20 72 |ntil select is r| 000014b0 65 6c 65 61 73 65 64 0a 0a 54 68 65 20 62 75 74 |eleased..The but| 000014c0 74 6f 6e 20 73 6c 61 62 62 69 6e 67 20 6d 61 73 |ton slabbing mas| 000014d0 6b 20 63 61 6e 20 74 68 65 6e 20 62 65 20 63 61 |k can then be ca| 000014e0 6c 63 75 6c 61 74 65 64 20 62 79 20 61 64 64 69 |lculated by addi| 000014f0 6e 67 20 74 6f 67 65 74 68 65 72 20 74 68 65 20 |ng together the | 00001500 72 65 71 75 69 72 65 64 20 0a 62 75 74 74 6f 6e |required .button| 00001510 20 76 61 6c 75 65 73 2e 20 20 0a 0a 54 68 65 20 | values. ..The | 00001520 62 75 74 74 6f 6e 20 73 6c 61 62 62 69 6e 67 20 |button slabbing | 00001530 74 69 6d 65 20 69 73 20 74 68 65 20 6d 69 6e 69 |time is the mini| 00001540 6d 75 6d 20 74 69 6d 65 20 74 68 61 74 20 74 68 |mum time that th| 00001550 65 20 69 63 6f 6e 20 77 69 6c 6c 20 62 65 20 73 |e icon will be s| 00001560 6c 61 62 62 65 64 20 66 6f 72 2c 20 74 68 65 20 |labbed for, the | 00001570 0a 64 65 66 61 75 6c 74 20 74 69 6d 65 20 69 73 |.default time is| 00001580 20 66 6f 72 20 31 35 63 73 2e 20 20 54 68 69 73 | for 15cs. This| 00001590 20 76 61 6c 75 65 20 69 73 20 61 20 64 65 63 69 | value is a deci| 000015a0 6d 61 6c 20 6e 75 6d 62 65 72 20 69 6e 20 63 65 |mal number in ce| 000015b0 6e 74 69 2d 73 65 63 6f 6e 64 73 2e 0a 54 68 65 |nti-seconds..The| 000015c0 20 63 6f 6c 6f 75 72 73 20 61 72 65 20 73 70 65 | colours are spe| 000015d0 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 66 6f |cified in the fo| 000015e0 6c 6c 6f 77 69 6e 67 20 6f 72 64 65 72 3a 0a 0a |llowing order:..| 000015f0 20 20 20 20 20 20 20 20 7b 2c 62 6f 72 64 65 72 | {,border| 00001600 20 63 6f 6c 6f 75 72 31 7d 20 7b 2c 62 6f 72 64 | colour1} {,bord| 00001610 65 72 20 63 6f 6c 6f 75 72 32 7d 20 7b 2c 73 6c |er colour2} {,sl| 00001620 61 62 62 69 6e 67 20 6f 75 74 20 63 6f 6c 6f 75 |abbing out colou| 00001630 72 7d 20 0a 20 20 20 20 20 20 20 20 7b 2c 73 6c |r} . {,sl| 00001640 61 62 62 69 6e 67 20 69 6e 20 63 6f 6c 6f 75 72 |abbing in colour| 00001650 7d 20 7b 2c 69 6e 6e 65 72 20 63 68 61 6e 6e 65 |} {,inner channe| 00001660 6c 20 63 6f 6c 6f 75 72 7d 0a 0a 54 68 65 73 65 |l colour}..These| 00001670 20 63 6f 6c 6f 75 72 73 20 63 61 6e 20 62 65 20 | colours can be | 00001680 61 6e 79 20 76 61 6c 69 64 20 57 49 4d 50 20 63 |any valid WIMP c| 00001690 6f 6c 6f 75 72 20 69 6e 20 74 68 65 20 72 61 6e |olour in the ran| 000016a0 67 65 20 6f 66 20 30 20 74 6f 20 31 35 2c 20 74 |ge of 0 to 15, t| 000016b0 68 65 20 64 65 66 61 75 6c 74 20 0a 73 65 6c 65 |he default .sele| 000016c0 63 74 69 6f 6e 20 69 73 20 34 2c 20 30 2c 20 31 |ction is 4, 0, 1| 000016d0 2c 20 31 34 2c 20 31 32 2e 0a 0a 54 68 65 20 28 |, 14, 12...The (| 000016e0 52 29 61 64 69 6f 20 63 6f 6d 6d 61 6e 64 20 73 |R)adio command s| 000016f0 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 |pecified in the | 00001700 76 61 6c 69 64 61 74 69 6f 6e 20 73 74 72 69 6e |validation strin| 00001710 67 20 69 73 20 75 73 65 64 20 74 6f 20 73 65 74 |g is used to set| 00001720 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 0a 6f | the state of .o| 00001730 74 68 65 72 20 72 61 64 69 6f 20 62 75 74 74 6f |ther radio butto| 00001740 6e 20 74 79 70 65 20 69 63 6f 6e 73 2e 20 20 54 |n type icons. T| 00001750 68 65 20 52 20 63 6f 6d 6d 61 6e 64 20 69 73 20 |he R command is | 00001760 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 64 65 |followed by a de| 00001770 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 69 6e 20 |cimal number in | 00001780 0a 74 68 65 20 72 61 6e 67 65 20 30 20 74 6f 20 |.the range 0 to | 00001790 32 2c 20 74 68 65 20 61 63 74 69 6f 6e 20 74 68 |2, the action th| 000017a0 61 74 20 74 68 65 73 65 20 70 65 72 66 6f 72 6d |at these perform| 000017b0 20 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 52 61 | is:.. Ra| 000017c0 64 69 6f 20 74 79 70 65 20 20 20 20 20 20 20 20 |dio type | 000017d0 20 20 20 20 20 20 4f 70 65 72 61 74 69 6f 6e 0a | Operation.| 000017e0 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 | 0 | 000017f0 20 20 20 20 20 20 20 20 74 68 69 73 20 68 61 73 | this has| 00001800 20 74 68 65 20 65 66 66 65 63 74 20 6f 66 20 73 | the effect of s| 00001810 77 69 74 63 68 69 6e 67 20 6f 66 66 20 74 68 65 |witching off the| 00001820 20 73 70 65 63 69 66 69 65 64 20 69 63 6f 6e 28 | specified icon(| 00001830 73 29 2e 0a 20 20 20 20 20 20 20 20 31 20 20 20 |s).. 1 | 00001840 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 | this| 00001850 20 68 61 73 20 74 68 65 20 65 66 66 65 63 74 20 | has the effect | 00001860 6f 66 20 73 77 69 74 63 68 69 6e 67 20 6f 6e 20 |of switching on | 00001870 74 68 65 20 73 70 65 63 69 66 69 65 64 20 69 63 |the specified ic| 00001880 6f 6e 28 73 29 2e 20 20 20 20 20 20 0a 20 20 20 |on(s). . | 00001890 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 20 | 2 | 000018a0 20 20 20 20 20 74 68 69 73 20 68 61 73 20 74 68 | this has th| 000018b0 65 20 65 66 66 65 63 74 20 6f 66 20 74 6f 67 67 |e effect of togg| 000018c0 6c 69 6e 67 20 74 68 65 20 69 63 6f 6e 73 20 63 |ling the icons c| 000018d0 75 72 72 65 6e 74 20 73 74 61 74 65 2e 0a 0a 54 |urrent state...T| 000018e0 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 74 |his command is t| 000018f0 68 65 6e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 |hen followed by | 00001900 74 68 65 20 6e 75 6d 62 65 72 73 20 6f 66 20 74 |the numbers of t| 00001910 68 65 20 69 63 6f 6e 73 20 79 6f 75 20 77 69 73 |he icons you wis| 00001920 68 20 74 6f 20 61 6c 74 65 72 2c 20 74 68 65 73 |h to alter, thes| 00001930 65 20 0a 73 68 6f 75 6c 64 20 62 65 20 73 65 70 |e .should be sep| 00001940 61 72 61 74 65 64 20 62 79 20 63 6f 6d 6d 61 73 |arated by commas| 00001950 2e 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 |. This command | 00001960 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 |may be specified| 00001970 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 | more than once | 00001980 69 6e 20 0a 61 20 76 61 6c 69 64 61 74 69 6f 6e |in .a validation| 00001990 20 73 74 72 69 6e 67 2c 20 66 6f 72 20 65 78 61 | string, for exa| 000019a0 6d 70 6c 65 20 74 6f 20 73 77 69 74 63 68 20 69 |mple to switch i| 000019b0 63 6f 6e 73 20 31 20 26 20 32 20 6f 66 66 2c 20 |cons 1 & 2 off, | 000019c0 33 20 26 20 34 20 6f 6e 20 61 6e 64 20 74 6f 67 |3 & 4 on and tog| 000019d0 67 6c 65 20 74 68 65 20 0a 73 74 61 74 65 20 6f |gle the .state o| 000019e0 66 20 69 63 6f 6e 73 20 35 20 26 20 36 20 79 6f |f icons 5 & 6 yo| 000019f0 75 20 63 6f 75 6c 64 20 75 73 65 20 74 68 65 20 |u could use the | 00001a00 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 69 64 61 |following valida| 00001a10 74 69 6f 6e 20 73 74 72 69 6e 67 0a 0a 20 20 20 |tion string.. | 00001a20 20 20 20 20 20 52 30 2c 31 2c 32 3b 52 31 2c 33 | R0,1,2;R1,3| 00001a30 2c 34 3b 52 32 2c 35 2c 36 0a 0a 54 68 65 20 28 |,4;R2,5,6..The (| 00001a40 55 29 6e 73 65 6c 65 63 74 61 62 6c 65 20 63 6f |U)nselectable co| 00001a50 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 76 61 6c |mmand in the val| 00001a60 69 64 61 74 69 6f 6e 20 73 74 72 69 6e 67 20 68 |idation string h| 00001a70 61 73 20 74 68 65 20 65 66 66 65 63 74 20 6f 66 |as the effect of| 00001a80 20 73 68 61 64 69 6e 67 20 74 68 65 20 0a 69 63 | shading the .ic| 00001a90 6f 6e 20 67 72 65 79 20 73 6f 20 74 68 61 74 20 |on grey so that | 00001aa0 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 73 65 6c |it cannot be sel| 00001ab0 65 63 74 65 64 20 62 79 20 74 68 65 20 75 73 65 |ected by the use| 00001ac0 72 2e 20 20 49 74 20 69 73 20 66 6f 6c 6c 6f 77 |r. It is follow| 00001ad0 65 64 20 62 79 20 61 20 64 65 63 69 6d 61 6c 20 |ed by a decimal | 00001ae0 0a 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 20 72 |.number in the r| 00001af0 61 6e 67 65 20 30 20 74 6f 20 32 2c 20 74 68 65 |ange 0 to 2, the| 00001b00 20 61 63 74 69 6f 6e 20 74 68 61 74 20 74 68 65 | action that the| 00001b10 73 65 20 69 73 20 64 65 73 63 72 69 62 65 64 20 |se is described | 00001b20 61 62 6f 76 65 20 69 6e 20 74 68 65 20 72 61 64 |above in the rad| 00001b30 69 6f 20 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 54 68 |io .command...Th| 00001b40 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 74 68 |is command is th| 00001b50 65 6e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 |en followed by t| 00001b60 68 65 20 6e 75 6d 62 65 72 73 20 6f 66 20 74 68 |he numbers of th| 00001b70 65 20 69 63 6f 6e 73 20 79 6f 75 20 77 69 73 68 |e icons you wish| 00001b80 20 74 6f 20 61 6c 74 65 72 2c 20 74 68 65 73 65 | to alter, these| 00001b90 20 0a 73 68 6f 75 6c 64 20 62 65 20 73 65 70 61 | .should be sepa| 00001ba0 72 61 74 65 64 20 62 79 20 63 6f 6d 6d 61 73 2e |rated by commas.| 00001bb0 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 6d | This command m| 00001bc0 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 |ay be specified | 00001bd0 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 69 |more than once i| 00001be0 6e 20 0a 61 20 76 61 6c 69 64 61 74 69 6f 6e 20 |n .a validation | 00001bf0 73 74 72 69 6e 67 2c 20 66 6f 72 20 65 78 61 6d |string, for exam| 00001c00 70 6c 65 20 74 6f 20 73 68 61 64 65 20 69 63 6f |ple to shade ico| 00001c10 6e 73 20 31 20 26 20 32 2c 20 75 6e 2d 73 68 61 |ns 1 & 2, un-sha| 00001c20 64 65 20 33 20 26 20 34 20 61 6e 64 20 74 6f 67 |de 3 & 4 and tog| 00001c30 67 6c 65 20 74 68 65 20 0a 73 74 61 74 65 20 6f |gle the .state o| 00001c40 66 20 69 63 6f 6e 73 20 35 20 26 20 36 20 79 6f |f icons 5 & 6 yo| 00001c50 75 20 63 6f 75 6c 64 20 75 73 65 20 74 68 65 20 |u could use the | 00001c60 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 69 64 61 |following valida| 00001c70 74 69 6f 6e 20 73 74 72 69 6e 67 0a 0a 20 20 20 |tion string.. | 00001c80 20 20 20 20 20 55 30 2c 31 2c 32 3b 55 31 2c 33 | U0,1,2;U1,3| 00001c90 2c 34 3b 55 32 2c 35 2c 36 0a 0a 54 68 65 20 28 |,4;U2,5,6..The (| 00001ca0 50 29 6f 69 6e 74 65 72 20 63 6f 6d 6d 61 6e 64 |P)ointer command| 00001cb0 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 66 69 | is used to defi| 00001cc0 6e 65 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 |ne a pointer to | 00001cd0 62 65 20 64 69 73 70 6c 61 79 65 64 20 77 68 65 |be displayed whe| 00001ce0 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 20 0a 69 |n the pointer .i| 00001cf0 73 20 6f 76 65 72 20 74 68 61 74 20 69 63 6f 6e |s over that icon| 00001d00 2e 20 20 54 68 65 20 66 69 72 73 74 20 70 61 72 |. The first par| 00001d10 61 6d 65 74 65 72 20 69 73 20 61 20 73 70 72 69 |ameter is a spri| 00001d20 74 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20 66 |te name to use f| 00001d30 6f 72 20 74 68 65 20 70 6f 69 6e 74 65 72 2c 20 |or the pointer, | 00001d40 74 68 69 73 20 0a 73 68 6f 75 6c 64 20 62 65 20 |this .should be | 00001d50 6e 6f 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 31 |no longer than 1| 00001d60 32 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 |2 characters and| 00001d70 20 73 68 6f 75 6c 64 20 62 65 20 70 72 65 73 65 | should be prese| 00001d80 6e 74 20 69 6e 20 74 68 65 20 57 49 4d 50 20 73 |nt in the WIMP s| 00001d90 70 72 69 74 65 20 0a 70 6f 6f 6c 2e 20 20 54 68 |prite .pool. Th| 00001da0 65 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d |e optional param| 00001db0 65 74 65 72 73 20 73 70 65 63 69 66 79 20 74 68 |eters specify th| 00001dc0 65 20 78 20 61 6e 64 20 79 20 6f 66 66 73 65 74 |e x and y offset| 00001dd0 73 20 74 6f 20 74 68 65 20 61 63 74 69 76 65 20 |s to the active | 00001de0 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 0a 73 70 |point in the .sp| 00001df0 72 69 74 65 2c 20 74 68 65 73 65 20 73 68 6f 75 |rite, these shou| 00001e00 6c 64 20 62 65 20 73 70 65 63 69 66 69 65 64 20 |ld be specified | 00001e10 69 6e 20 70 69 78 65 6c 73 2e 0a 0a 54 68 65 20 |in pixels...The | 00001e20 28 49 29 6e 66 6f 72 6d 61 74 69 6f 6e 20 63 6f |(I)nformation co| 00001e30 6d 6d 61 6e 64 20 69 73 20 75 73 65 64 20 74 6f |mmand is used to| 00001e40 20 64 65 66 69 6e 65 20 61 20 6d 65 73 73 61 67 | define a messag| 00001e50 65 20 74 6f 20 62 65 20 73 65 6e 74 20 74 6f 20 |e to be sent to | 00001e60 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 |the interactive | 00001e70 0a 68 65 6c 70 20 61 70 70 6c 69 63 61 74 69 6f |.help applicatio| 00001e80 6e 20 77 68 65 6e 20 74 68 65 20 70 6f 69 6e 74 |n when the point| 00001e90 65 72 20 69 73 20 6f 76 65 72 20 74 68 65 20 69 |er is over the i| 00001ea0 63 6f 6e 2e 20 20 49 66 20 79 6f 75 20 77 69 73 |con. If you wis| 00001eb0 68 20 74 6f 20 75 73 65 20 61 20 73 65 6d 69 2d |h to use a semi-| 00001ec0 63 6f 6c 6f 6e 20 0a 74 68 65 6e 20 79 6f 75 20 |colon .then you | 00001ed0 6d 75 73 74 20 70 6c 61 63 65 20 74 77 6f 20 6e |must place two n| 00001ee0 65 78 74 20 74 6f 20 65 61 63 68 20 6f 74 68 65 |ext to each othe| 00001ef0 72 2e 20 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 |r. The maximum | 00001f00 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 68 65 |length of the he| 00001f10 6c 70 20 0a 6d 65 73 73 61 67 65 20 69 73 20 32 |lp .message is 2| 00001f20 33 35 20 63 68 61 72 61 63 74 65 72 73 2e 0a 0a |35 characters...| 00001f30 54 68 65 20 49 6e 74 65 72 66 61 63 65 20 6d 6f |The Interface mo| 00001f40 64 75 6c 65 20 77 69 6c 6c 20 63 68 61 6e 67 65 |dule will change| 00001f50 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 | to the specifie| 00001f60 64 20 70 6f 69 6e 74 65 72 20 77 68 65 6e 20 74 |d pointer when t| 00001f70 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 |he mouse pointer| 00001f80 20 69 73 20 0a 6f 76 65 72 20 74 68 65 20 69 63 | is .over the ic| 00001f90 6f 6e 2f 77 6f 72 6b 61 72 65 61 2c 20 69 66 20 |on/workarea, if | 00001fa0 6e 6f 20 70 6f 69 6e 74 65 72 20 69 73 20 73 70 |no pointer is sp| 00001fb0 65 63 69 66 69 65 64 20 74 68 65 6e 20 74 68 65 |ecified then the| 00001fc0 20 70 6f 69 6e 74 65 72 20 77 69 6c 6c 20 64 65 | pointer will de| 00001fd0 66 61 75 6c 74 20 74 6f 20 0a 73 68 61 70 65 20 |fault to .shape | 00001fe0 6f 6e 65 20 28 74 68 65 20 64 65 66 61 75 6c 74 |one (the default| 00001ff0 20 61 72 72 6f 77 20 73 68 61 70 65 29 2e 20 20 | arrow shape). | 00002000 54 68 65 72 65 20 61 72 65 20 35 20 70 6f 69 6e |There are 5 poin| 00002010 74 65 72 20 73 68 61 70 65 73 20 64 65 73 69 67 |ter shapes desig| 00002020 6e 65 64 20 69 6e 20 74 68 65 20 0a 73 70 72 69 |ned in the .spri| 00002030 74 65 20 66 69 6c 65 20 69 6e 20 74 68 65 20 21 |te file in the !| 00002040 49 6e 74 65 72 66 61 63 65 20 64 69 72 65 63 74 |Interface direct| 00002050 6f 72 79 2c 20 74 68 65 73 65 20 61 72 65 3a 0a |ory, these are:.| 00002060 0a 20 20 20 20 20 20 20 20 70 74 72 5f 77 72 69 |. ptr_wri| 00002070 74 65 20 2d 20 74 68 69 73 20 70 6f 69 6e 74 65 |te - this pointe| 00002080 72 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 |r should be used| 00002090 20 6f 6e 20 77 72 69 74 61 62 6c 65 20 69 63 6f | on writable ico| 000020a0 6e 73 2c 20 74 68 65 20 73 75 67 67 65 73 74 65 |ns, the suggeste| 000020b0 64 20 61 63 74 69 76 65 0a 20 20 20 20 20 20 20 |d active. | 000020c0 20 70 6f 69 6e 74 20 69 73 20 61 74 20 63 6f 6f | point is at coo| 000020d0 72 64 69 6e 61 74 65 73 20 78 20 3d 20 34 2c 20 |rdinates x = 4, | 000020e0 79 20 3d 20 34 2e 0a 0a 20 20 20 20 20 20 20 20 |y = 4... | 000020f0 70 74 72 5f 6d 65 6e 75 20 2d 20 74 68 69 73 20 |ptr_menu - this | 00002100 70 6f 69 6e 74 65 72 20 69 73 20 75 73 65 64 20 |pointer is used | 00002110 77 68 65 72 65 20 61 20 6d 65 6e 75 20 63 61 6e |where a menu can| 00002120 20 62 65 20 61 63 74 69 76 61 74 65 64 20 62 79 | be activated by| 00002130 20 70 72 65 73 73 69 6e 67 20 74 68 65 0a 20 20 | pressing the. | 00002140 20 20 20 20 20 20 6d 65 6e 75 20 62 75 74 74 6f | menu butto| 00002150 6e 20 6f 76 65 72 20 74 68 65 20 69 63 6f 6e 2e |n over the icon.| 00002160 20 20 54 68 69 73 20 73 74 6f 70 73 20 74 68 65 | This stops the| 00002170 20 75 73 65 72 20 68 61 76 69 6e 67 20 74 6f 20 | user having to | 00002180 73 65 61 72 63 68 20 61 6c 6c 20 6f 76 65 72 20 |search all over | 00002190 74 68 65 0a 20 20 20 20 20 20 20 20 77 69 6e 64 |the. wind| 000021a0 6f 77 20 74 6f 20 66 69 6e 64 20 77 68 65 72 65 |ow to find where| 000021b0 20 74 68 65 20 6d 65 6e 75 20 69 73 2e 20 54 68 | the menu is. Th| 000021c0 65 20 73 75 67 67 65 73 74 65 64 20 61 63 74 69 |e suggested acti| 000021d0 76 65 20 70 6f 69 6e 74 20 69 73 20 78 20 3d 20 |ve point is x = | 000021e0 36 2c 20 79 20 3d 20 35 2e 0a 0a 20 20 20 20 20 |6, y = 5... | 000021f0 20 20 20 70 74 72 5f 64 69 72 65 63 74 20 2d 20 | ptr_direct - | 00002200 74 68 69 73 20 70 6f 69 6e 74 65 72 20 69 73 20 |this pointer is | 00002210 75 73 65 64 20 77 68 65 72 65 20 61 6e 20 6f 62 |used where an ob| 00002220 6a 65 63 74 20 6d 61 79 20 62 65 20 72 65 2d 73 |ject may be re-s| 00002230 69 7a 65 64 2c 20 74 68 65 20 73 75 67 67 65 73 |ized, the sugges| 00002240 74 65 64 0a 20 20 20 20 20 20 20 20 61 63 74 69 |ted. acti| 00002250 76 65 20 70 6f 69 6e 74 20 69 73 20 61 74 20 78 |ve point is at x| 00002260 20 3d 20 31 33 2c 20 79 20 3d 20 37 2e 0a 0a 20 | = 13, y = 7... | 00002270 20 20 20 20 20 20 20 70 74 72 5f 68 61 6e 64 20 | ptr_hand | 00002280 2d 20 74 68 69 73 20 70 6f 69 6e 74 65 72 20 69 |- this pointer i| 00002290 73 20 75 73 65 64 20 77 68 65 72 65 20 61 6e 64 |s used where and| 000022a0 20 69 63 6f 6e 20 6d 61 79 20 62 65 20 64 72 61 | icon may be dra| 000022b0 67 67 65 64 2e 20 20 49 74 20 69 73 20 75 73 75 |gged. It is usu| 000022c0 61 6c 6c 79 20 73 65 74 0a 20 20 20 20 20 20 20 |ally set. | 000022d0 20 6f 6e 20 74 68 65 20 77 6f 72 6b 61 72 65 61 | on the workarea| 000022e0 2c 20 62 75 74 20 69 74 20 63 61 6e 20 62 65 20 |, but it can be | 000022f0 75 73 65 64 20 6f 6e 20 61 6e 79 20 69 63 6f 6e |used on any icon| 00002300 20 28 74 68 65 20 73 61 76 65 20 66 69 6c 65 20 | (the save file | 00002310 69 63 6f 6e 20 6c 6f 6f 6b 73 20 67 72 65 61 74 |icon looks great| 00002320 0a 20 20 20 20 20 20 20 20 77 68 65 6e 20 75 73 |. when us| 00002330 69 6e 67 20 69 74 29 2c 20 69 74 73 20 73 75 67 |ing it), its sug| 00002340 67 65 73 74 65 64 20 61 63 74 69 76 65 20 70 6f |gested active po| 00002350 69 6e 74 20 69 73 20 61 74 20 78 20 3d 20 31 32 |int is at x = 12| 00002360 2c 20 79 20 3d 20 38 2e 0a 0a 20 20 20 20 20 20 |, y = 8... | 00002370 20 20 70 74 72 5f 63 72 6f 73 73 20 2d 20 74 68 | ptr_cross - th| 00002380 69 73 20 70 6f 69 6e 74 65 72 20 69 73 20 75 73 |is pointer is us| 00002390 65 64 20 61 73 20 61 20 63 72 6f 73 73 68 61 69 |ed as a crosshai| 000023a0 72 2c 20 69 74 20 69 73 20 74 68 65 20 73 61 6d |r, it is the sam| 000023b0 65 20 61 73 20 74 68 65 20 6f 6e 65 20 75 73 65 |e as the one use| 000023c0 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 |d in the. | 000023d0 20 44 72 61 77 20 61 70 70 6c 69 63 61 74 69 6f | Draw applicatio| 000023e0 6e 2e 20 20 54 68 69 73 20 69 63 6f 6e 20 67 69 |n. This icon gi| 000023f0 76 65 73 20 74 68 65 20 75 73 65 72 20 61 20 70 |ves the user a p| 00002400 72 65 63 69 73 65 20 70 6f 69 6e 74 20 77 68 65 |recise point whe| 00002410 6e 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 0a 20 |n working with. | 00002420 20 20 20 20 20 20 20 6c 69 6e 65 20 64 72 61 77 | line draw| 00002430 69 6e 67 73 2c 20 69 74 73 20 73 75 67 67 65 73 |ings, its sugges| 00002440 74 65 64 20 61 63 74 69 76 65 20 70 6f 69 6e 74 |ted active point| 00002450 20 69 73 20 61 74 20 78 20 3d 20 31 33 2c 20 79 | is at x = 13, y| 00002460 20 3d 20 37 2e 0a 0a 59 6f 75 20 6d 61 79 20 61 | = 7...You may a| 00002470 6c 73 6f 20 64 65 73 69 67 6e 20 79 6f 75 72 20 |lso design your | 00002480 6f 77 6e 20 70 6f 69 6e 74 65 72 73 2c 20 77 68 |own pointers, wh| 00002490 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f |ich should be lo| 000024a0 61 64 65 64 20 69 6e 74 6f 20 74 68 65 20 57 49 |aded into the WI| 000024b0 4d 50 20 0a 73 70 72 69 74 65 20 70 6f 6f 6c 2e |MP .sprite pool.| 000024c0 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 | There are a fe| 000024d0 77 20 70 6f 69 6e 74 73 20 74 68 61 74 20 79 6f |w points that yo| 000024e0 75 20 73 68 6f 75 6c 64 20 6e 6f 74 65 20 77 68 |u should note wh| 000024f0 65 6e 20 64 65 73 69 67 6e 69 6e 67 20 70 6f 69 |en designing poi| 00002500 6e 74 65 72 73 20 0a 74 68 65 73 65 20 61 72 65 |nters .these are| 00002510 20 3a 0a 0a 20 20 20 20 20 20 20 20 50 6f 69 6e | :.. Poin| 00002520 74 65 72 20 73 70 72 69 74 65 20 6e 61 6d 65 73 |ter sprite names| 00002530 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 | should have the| 00002540 20 66 6f 72 6d 20 70 74 72 5f 58 58 58 58 58 2c | form ptr_XXXXX,| 00002550 20 61 6c 74 68 6f 75 67 68 20 74 68 69 73 20 69 | although this i| 00002560 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 63 6f |s not. co| 00002570 6d 70 75 6c 73 6f 72 79 20 69 74 20 68 65 6c 70 |mpulsory it help| 00002580 73 20 73 6f 20 74 68 61 74 20 79 6f 75 20 64 6f |s so that you do| 00002590 20 6e 6f 74 20 67 65 74 20 63 6f 6e 66 75 73 65 | not get confuse| 000025a0 64 20 77 69 74 68 20 70 6f 69 6e 74 65 72 73 20 |d with pointers | 000025b0 61 6e 64 20 6e 6f 72 6d 61 6c 0a 20 20 20 20 20 |and normal. | 000025c0 20 20 20 73 70 72 69 74 65 73 2e 0a 0a 20 20 20 | sprites... | 000025d0 20 20 20 20 20 44 6f 20 6e 6f 74 20 75 73 65 20 | Do not use | 000025e0 6c 6f 67 69 63 61 6c 20 63 6f 6c 6f 75 72 20 32 |logical colour 2| 000025f0 20 69 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 20 | in the pointer | 00002600 73 70 72 69 74 65 73 2c 20 61 73 20 74 68 69 73 |sprites, as this| 00002610 20 69 73 20 75 6e 61 76 61 69 6c 61 62 6c 65 20 | is unavailable | 00002620 69 6e 20 76 65 72 79 0a 20 20 20 20 20 20 20 20 |in very. | 00002630 68 69 67 68 20 72 65 73 6f 6c 75 74 69 6f 6e 20 |high resolution | 00002640 6d 6f 64 65 73 2e 0a 0a 54 68 65 20 70 6f 69 6e |modes...The poin| 00002650 74 65 72 73 20 75 73 65 64 20 73 68 6f 75 6c 64 |ters used should| 00002660 20 6f 6e 6c 79 20 62 65 20 76 61 6c 69 64 20 69 | only be valid i| 00002670 6e 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 |n your applicati| 00002680 6f 6e 2c 20 73 6f 20 79 6f 75 20 6d 75 73 74 20 |on, so you must | 00002690 6e 6f 74 20 6d 61 73 6b 20 0a 6f 75 74 20 74 68 |not mask .out th| 000026a0 65 20 50 6f 69 6e 74 65 72 5f 4c 65 61 76 69 6e |e Pointer_Leavin| 000026b0 67 5f 57 69 6e 64 6f 77 20 69 6e 20 79 6f 75 72 |g_Window in your| 000026c0 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 20 20 59 | application. Y| 000026d0 6f 75 20 73 68 6f 75 6c 64 20 63 6c 61 69 6d 20 |ou should claim | 000026e0 0a 4e 75 6c 6c 5f 52 65 61 73 6f 6e 5f 43 6f 64 |.Null_Reason_Cod| 000026f0 65 20 77 68 65 6e 20 70 61 73 73 65 64 20 74 6f |e when passed to| 00002700 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f | your applicatio| 00002710 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 |n, otherwise the| 00002720 20 70 6f 69 6e 74 65 72 20 77 69 6c 6c 20 6e 6f | pointer will no| 00002730 74 20 0a 63 68 61 6e 67 65 20 77 68 65 6e 20 74 |t .change when t| 00002740 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6f 76 |he pointer is ov| 00002750 65 72 20 74 68 65 20 69 63 6f 6e 2f 77 6f 72 6b |er the icon/work| 00002760 61 72 65 61 2c 20 73 65 65 20 74 68 65 20 65 78 |area, see the ex| 00002770 61 6d 70 6c 65 73 20 66 6f 72 20 6d 6f 72 65 2e |amples for more.| 00002780 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 73 75 70 |..You should sup| 00002790 70 6f 72 74 20 74 68 65 20 21 48 65 6c 70 20 61 |port the !Help a| 000027a0 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 68 65 |pplication to he| 000027b0 6c 70 20 6e 65 77 20 75 73 65 72 73 20 75 73 69 |lp new users usi| 000027c0 6e 67 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 |ng your applicat| 000027d0 69 6f 6e 2c 20 0a 74 68 69 73 20 69 73 20 77 68 |ion, .this is wh| 000027e0 79 20 49 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 |y I implemented | 000027f0 61 20 66 65 61 74 75 72 65 20 69 6e 20 49 6e 74 |a feature in Int| 00002800 65 72 66 61 63 65 20 74 6f 20 6d 61 6b 65 20 74 |erface to make t| 00002810 68 69 73 20 65 61 73 69 65 72 2e 20 20 54 68 65 |his easier. The| 00002820 20 66 6f 6c 6c 6f 77 69 6e 67 20 0a 77 61 73 20 | following .was | 00002830 66 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 20 |for some reason | 00002840 6e 6f 74 20 70 75 62 6c 69 73 68 65 64 20 69 6e |not published in| 00002850 20 74 68 65 20 50 72 6f 67 72 61 6d 6d 65 72 73 | the Programmers| 00002860 20 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 | Reference Manua| 00002870 6c 73 2c 20 62 75 74 20 77 61 73 20 0a 69 6e 20 |ls, but was .in | 00002880 74 68 65 20 70 72 65 2d 72 65 6c 65 61 73 65 20 |the pre-release | 00002890 64 69 73 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 |disc version of | 000028a0 74 68 65 20 6d 61 6e 75 61 6c 73 2e 0a 0a 46 6f |the manuals...Fo| 000028b0 72 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e |r an application| 000028c0 20 74 6f 20 75 73 65 20 69 6e 74 65 72 61 63 74 | to use interact| 000028d0 69 76 65 20 68 65 6c 70 2c 20 74 77 6f 20 57 49 |ive help, two WI| 000028e0 4d 50 20 6d 65 73 73 61 67 65 73 20 61 72 65 20 |MP messages are | 000028f0 65 6d 70 6c 6f 79 65 64 2e 20 20 4f 6e 65 20 0a |employed. One .| 00002900 69 73 20 75 73 65 64 20 62 79 20 74 68 65 20 48 |is used by the H| 00002910 65 6c 70 20 74 6f 20 72 65 71 75 65 73 74 20 68 |elp to request h| 00002920 65 6c 70 2c 20 61 6e 64 20 74 68 65 20 6f 74 68 |elp, and the oth| 00002930 65 72 20 69 73 20 75 73 65 64 20 62 79 20 74 68 |er is used by th| 00002940 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f |e application to| 00002950 20 72 65 74 75 72 6e 20 0a 74 68 65 20 68 65 6c | return .the hel| 00002960 70 20 6d 65 73 73 61 67 65 2e 0a 0a 54 6f 20 72 |p message...To r| 00002970 65 71 75 65 73 74 20 68 65 6c 70 2c 20 74 68 65 |equest help, the| 00002980 20 48 65 6c 70 20 61 70 70 6c 69 63 61 74 69 6f | Help applicatio| 00002990 6e 20 73 65 6e 64 73 20 61 20 6d 65 73 73 61 67 |n sends a messag| 000029a0 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 |e of the followi| 000029b0 6e 67 20 66 6f 72 6d 3a 0a 0a 62 6c 6f 63 6b 20 |ng form:..block | 000029c0 20 20 2b 31 36 20 20 20 20 20 26 35 30 32 20 2d | +16 &502 -| 000029d0 20 69 6e 64 69 63 61 74 65 73 20 72 65 71 75 65 | indicates reque| 000029e0 73 74 20 66 6f 72 20 68 65 6c 70 0a 20 20 20 20 |st for help. | 000029f0 20 20 20 20 20 20 20 20 20 20 20 20 2b 32 30 20 | +20 | 00002a00 20 20 20 20 6d 6f 75 73 65 20 78 20 63 6f 2d 6f | mouse x co-o| 00002a10 72 64 69 6e 61 74 65 0a 20 20 20 20 20 20 20 20 |rdinate. | 00002a20 20 20 20 20 20 20 20 20 2b 32 34 20 20 20 20 20 | +24 | 00002a30 6d 6f 75 73 65 20 79 20 63 6f 2d 6f 72 64 69 6e |mouse y co-ordin| 00002a40 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 |ate. | 00002a50 20 20 20 20 2b 32 38 20 20 20 20 20 6d 6f 75 73 | +28 mous| 00002a60 65 20 62 75 74 74 6f 6e 20 73 74 61 74 65 0a 20 |e button state. | 00002a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b | +| 00002a80 33 32 20 20 20 20 20 77 69 6e 64 6f 77 20 68 61 |32 window ha| 00002a90 6e 64 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 |ndle | 00002aa0 20 20 20 28 2d 31 20 69 66 20 6e 6f 74 20 6f 76 | (-1 if not ov| 00002ab0 65 72 20 61 20 77 69 6e 64 6f 77 29 0a 20 20 20 |er a window). | 00002ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 33 36 | +36| 00002ad0 20 20 20 20 20 69 63 6f 6e 20 68 61 6e 64 6c 65 | icon handle| 00002ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002af0 20 28 2d 31 20 69 66 20 6e 6f 74 20 6f 76 65 72 | (-1 if not over| 00002b00 20 61 6e 20 69 63 6f 6e 29 0a 0a 54 68 65 20 57 | an icon)..The W| 00002b10 49 4d 50 20 73 79 73 74 65 6d 20 77 69 6c 6c 20 |IMP system will | 00002b20 70 61 73 73 20 74 68 69 73 20 6d 65 73 73 61 67 |pass this messag| 00002b30 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 |e automatically | 00002b40 74 6f 20 74 68 65 20 74 61 73 6b 20 69 6e 20 63 |to the task in c| 00002b50 68 61 72 67 65 20 6f 66 20 74 68 65 20 0a 61 70 |harge of the .ap| 00002b60 70 72 6f 70 72 69 61 74 65 20 77 69 6e 64 6f 77 |propriate window| 00002b70 2f 69 63 6f 6e 2e 20 20 49 66 20 74 68 65 20 61 |/icon. If the a| 00002b80 70 70 6c 69 63 61 74 69 6f 6e 20 72 65 63 65 69 |pplication recei| 00002b90 76 69 6e 67 20 74 68 65 20 6d 65 73 73 61 67 65 |ving the message| 00002ba0 20 77 69 73 68 65 73 20 74 6f 20 70 72 6f 64 75 | wishes to produ| 00002bb0 63 65 20 0a 73 6f 6d 65 20 68 65 6c 70 2c 20 69 |ce .some help, i| 00002bc0 74 20 73 68 6f 75 6c 64 20 72 65 73 70 6f 6e 64 |t should respond| 00002bd0 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 | with the follow| 00002be0 69 6e 67 20 6d 65 73 73 61 67 65 3a 0a 0a 62 6c |ing message:..bl| 00002bf0 6f 63 6b 20 20 20 2b 31 36 20 20 20 20 20 26 35 |ock +16 &5| 00002c00 30 33 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 |03. | 00002c10 20 20 20 2b 32 30 20 20 20 20 20 68 65 6c 70 20 | +20 help | 00002c20 6d 65 73 73 61 67 65 20 74 65 72 6d 69 6e 61 74 |message terminat| 00002c30 65 64 20 62 79 20 30 0a 0a 54 68 69 73 20 6d 65 |ed by 0..This me| 00002c40 73 73 61 67 65 20 63 61 6e 20 62 65 20 73 65 6e |ssage can be sen| 00002c50 74 20 74 6f 20 74 68 65 20 48 65 6c 70 20 61 70 |t to the Help ap| 00002c60 70 6c 69 63 61 74 69 6f 6e 20 62 79 20 75 73 69 |plication by usi| 00002c70 6e 67 20 57 69 6d 70 5f 53 65 6e 64 48 65 6c 70 |ng Wimp_SendHelp| 00002c80 2c 20 77 68 69 63 68 20 0a 69 73 20 70 72 6f 76 |, which .is prov| 00002c90 69 64 65 64 20 62 79 20 74 68 65 20 49 6e 74 65 |ided by the Inte| 00002ca0 72 66 61 63 65 20 6d 6f 64 75 6c 65 20 28 53 57 |rface module (SW| 00002cb0 49 20 26 38 31 36 38 37 29 2e 0a 0a 54 68 65 20 |I &81687)...The | 00002cc0 68 65 6c 70 20 74 65 78 74 20 6d 61 79 20 20 63 |help text may c| 00002cd0 6f 6e 74 61 69 6e 20 61 6e 79 20 70 72 69 6e 74 |ontain any print| 00002ce0 61 62 6c 65 20 63 68 61 72 61 63 74 65 72 20 63 |able character c| 00002cf0 6f 64 65 73 2e 20 20 49 66 20 74 68 65 20 73 65 |odes. If the se| 00002d00 71 75 65 6e 63 65 20 7c 4d 20 69 73 20 0a 65 6e |quence |M is .en| 00002d10 63 6f 75 6e 74 65 72 65 64 20 74 68 65 6e 20 74 |countered then t| 00002d20 68 69 73 20 77 69 6c 6c 20 62 65 20 74 72 65 61 |his will be trea| 00002d30 74 65 64 20 61 73 20 61 20 6c 69 6e 65 20 62 72 |ted as a line br| 00002d40 65 61 6b 20 61 6e 64 20 73 75 62 73 65 71 75 65 |eak and subseque| 00002d50 6e 74 20 74 65 78 74 20 77 69 6c 6c 20 62 65 20 |nt text will be | 00002d60 0a 70 72 69 6e 74 65 64 20 6f 6e 20 74 68 65 20 |.printed on the | 00002d70 6e 65 78 74 20 6c 69 6e 65 20 69 6e 20 74 68 65 |next line in the| 00002d80 20 77 69 6e 64 6f 77 2e 20 20 49 66 20 74 68 65 | window. If the| 00002d90 20 74 65 78 74 20 69 73 20 74 6f 6f 20 6c 6f 6e | text is too lon| 00002da0 67 20 66 6f 72 20 6f 6e 65 20 6c 69 6e 65 20 74 |g for one line t| 00002db0 68 65 6e 20 69 74 20 77 69 6c 6c 20 0a 62 65 20 |hen it will .be | 00002dc0 73 70 6c 69 74 20 61 74 20 61 20 77 6f 72 64 20 |split at a word | 00002dd0 62 6f 75 6e 64 61 72 79 20 28 73 70 61 63 65 20 |boundary (space | 00002de0 63 68 61 72 61 63 74 65 72 29 2e 0a 0a 54 68 65 |character)...The| 00002df0 20 74 65 78 74 20 73 68 6f 75 6c 64 20 63 6f 6e | text should con| 00002e00 73 69 73 74 20 6f 66 20 20 73 69 6d 70 6c 65 20 |sist of simple | 00002e10 63 6f 6d 70 6c 65 74 65 20 45 6e 67 6c 69 73 68 |complete English| 00002e20 20 73 65 6e 74 65 6e 63 65 73 2c 20 65 61 63 68 | sentences, each| 00002e30 20 73 74 61 72 74 69 6e 67 20 6f 6e 20 61 20 0a | starting on a .| 00002e40 6e 65 77 20 6c 69 6e 65 20 61 6e 64 20 65 6e 64 |new line and end| 00002e50 69 6e 67 20 77 69 74 68 20 61 20 66 75 6c 6c 20 |ing with a full | 00002e60 73 74 6f 70 2e 20 20 54 68 65 20 73 65 6e 74 65 |stop. The sente| 00002e70 6e 63 65 73 20 73 68 6f 75 6c 64 20 75 73 75 61 |nces should usua| 00002e80 6c 6c 79 20 62 65 20 73 69 6d 70 6c 65 20 0a 69 |lly be simple .i| 00002e90 6d 70 65 72 61 74 69 76 65 73 20 6f 72 20 69 6e |mperatives or in| 00002ea0 66 6f 72 6d 61 74 69 6f 6e 20 73 75 63 68 20 61 |formation such a| 00002eb0 73 3a 0a 0a 20 20 20 20 20 20 20 20 43 6c 69 63 |s:.. Clic| 00002ec0 6b 20 53 45 4c 45 43 54 20 74 6f 20 73 65 74 20 |k SELECT to set | 00002ed0 74 68 65 20 61 6c 61 72 6d 2e 0a 0a 20 20 20 20 |the alarm... | 00002ee0 20 20 20 20 59 6f 75 20 61 72 65 20 69 6e 20 53 | You are in S| 00002ef0 65 6c 65 63 74 20 6d 6f 64 65 2e 0a 0a 20 20 20 |elect mode... | 00002f00 20 20 20 20 20 43 6c 69 63 6b 20 41 44 4a 55 53 | Click ADJUS| 00002f10 54 20 74 6f 20 63 68 61 6e 67 65 20 74 6f 20 70 |T to change to p| 00002f20 61 74 68 20 65 64 69 74 20 6d 6f 64 65 2e 0a 0a |ath edit mode...| 00002f30 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 | This is | 00002f40 74 68 65 20 69 63 6f 6e 20 66 6f 72 20 45 64 69 |the icon for Edi| 00002f50 74 2e 0a 0a 49 6e 20 67 65 6e 65 72 61 6c 20 79 |t...In general y| 00002f60 6f 75 20 6e 65 65 64 20 6e 6f 74 20 6d 65 6e 74 |ou need not ment| 00002f70 69 6f 6e 20 6d 65 6e 75 20 65 6e 74 72 69 65 73 |ion menu entries| 00002f80 2c 20 65 78 63 65 70 74 20 77 68 65 6e 20 73 70 |, except when sp| 00002f90 65 63 69 66 69 63 20 6f 6e 65 73 20 69 6e 74 65 |ecific ones inte| 00002fa0 72 61 63 74 20 0a 77 69 74 68 20 70 6f 69 6e 74 |ract .with point| 00002fb0 65 72 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 |er operations. | 00002fc0 41 73 20 61 20 67 65 6e 65 72 61 6c 20 72 75 6c |As a general rul| 00002fd0 65 20 70 72 65 73 65 6e 74 20 69 6e 66 6f 72 6d |e present inform| 00002fe0 61 74 69 6f 6e 20 6f 66 20 69 6e 74 65 72 65 73 |ation of interes| 00002ff0 74 20 74 6f 20 74 68 65 20 0a 62 65 67 69 6e 6e |t to the .beginn| 00003000 65 72 20 6e 65 61 72 20 74 68 65 20 74 6f 70 2c |er near the top,| 00003010 20 61 6e 64 20 65 78 70 65 72 74 20 74 69 70 73 | and expert tips| 00003020 20 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 | or information | 00003030 6c 6f 77 65 72 20 64 6f 77 6e 2e 0a 0a 59 6f 75 |lower down...You| 00003040 20 6d 75 73 74 20 75 73 65 20 74 68 65 20 74 65 | must use the te| 00003050 72 6d 69 6e 6f 6c 6f 67 79 20 64 65 66 69 6e 65 |rminology define| 00003060 64 2e 20 20 46 6f 72 20 6d 6f 75 73 65 20 6f 70 |d. For mouse op| 00003070 65 72 61 74 69 6f 6e 73 20 79 6f 75 20 6d 75 73 |erations you mus| 00003080 74 20 75 73 65 20 69 6e 69 74 69 61 6c 20 0a 63 |t use initial .c| 00003090 61 70 69 74 61 6c 73 20 28 66 6f 72 20 65 78 61 |apitals (for exa| 000030a0 6d 70 6c 65 20 43 6c 69 63 6b 29 2e 20 20 54 68 |mple Click). Th| 000030b0 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 73 20 |e mouse buttons | 000030c0 6d 75 73 74 20 62 65 20 69 6e 20 63 61 70 69 74 |must be in capit| 000030d0 61 6c 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 |als (for example| 000030e0 20 0a 53 45 4c 45 43 54 29 2c 20 61 73 20 6d 75 | .SELECT), as mu| 000030f0 73 74 20 6b 65 79 20 6e 61 6d 65 73 20 28 66 6f |st key names (fo| 00003100 72 20 65 78 61 6d 70 6c 65 20 45 53 43 2c 20 52 |r example ESC, R| 00003110 45 54 55 52 4e 2c 20 53 48 49 46 54 2c 20 43 4f |ETURN, SHIFT, CO| 00003120 4e 54 52 4f 4c 2c 20 41 2c 20 42 2c 20 46 31 2c |NTROL, A, B, F1,| 00003130 20 0a 43 4f 50 59 29 2e 20 20 6d 69 73 73 20 6f | .COPY). miss o| 00003140 75 74 20 73 70 65 65 64 75 70 73 20 61 6e 64 20 |ut speedups and | 00003150 73 68 6f 72 74 63 75 74 73 20 2d 20 6a 75 73 74 |shortcuts - just| 00003160 20 70 72 6f 76 69 64 65 20 65 6e 6f 75 67 68 20 | provide enough | 00003170 74 6f 20 68 65 6c 70 20 61 20 62 65 67 69 6e 6e |to help a beginn| 00003180 65 72 20 0a 77 69 74 68 6f 75 74 20 64 72 6f 77 |er .without drow| 00003190 6e 69 6e 67 20 74 68 65 6d 20 77 69 74 68 20 69 |ning them with i| 000031a0 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 50 72 6f |nformation...Pro| 000031b0 76 69 64 65 20 69 6e 74 65 72 61 63 74 69 76 65 |vide interactive| 000031c0 20 68 65 6c 70 20 74 68 6f 72 6f 75 67 68 6c 79 | help thoroughly| 000031d0 20 2d 20 69 6e 63 6c 75 64 65 20 74 68 65 20 69 | - include the i| 000031e0 63 6f 6e 20 62 61 72 2c 20 61 6e 64 20 74 68 65 |con bar, and the| 000031f0 20 77 6f 72 6b 61 72 65 61 20 6f 66 20 61 6c 6c | workarea of all| 00003200 20 0a 79 6f 75 72 20 77 69 6e 64 6f 77 73 2e 20 | .your windows. | 00003210 20 49 66 20 6e 6f 20 61 63 74 69 6f 6e 73 20 61 | If no actions a| 00003220 72 65 20 70 6f 73 73 69 62 6c 65 20 69 6e 20 61 |re possible in a| 00003230 20 77 69 6e 64 6f 77 2c 20 6a 75 73 74 0a 0a 20 | window, just.. | 00003240 20 20 20 20 20 20 20 54 68 69 73 20 77 69 6e 64 | This wind| 00003250 6f 77 20 73 68 6f 77 73 2e 2e 2e 2e 0a 0a 69 66 |ow shows......if| 00003260 20 62 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 | better than not| 00003270 68 69 6e 67 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c |hing...You shoul| 00003280 64 20 61 73 73 75 6d 65 20 61 20 75 73 65 72 20 |d assume a user | 00003290 6b 6e 6f 77 73 3a 0a 0a 20 20 20 20 20 20 20 20 |knows:.. | 000032a0 77 68 61 74 20 61 20 4d 45 4e 55 20 6b 65 79 20 |what a MENU key | 000032b0 69 73 0a 20 20 20 20 20 20 20 20 68 6f 77 20 74 |is. how t| 000032c0 6f 20 6e 61 76 69 67 61 74 65 20 6d 65 6e 75 20 |o navigate menu | 000032d0 74 72 65 65 73 20 61 6e 64 20 63 68 6f 6f 73 65 |trees and choose| 000032e0 20 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 | entries. | 000032f0 20 77 68 61 74 20 74 68 65 20 69 63 6f 6e 20 62 | what the icon b| 00003300 61 72 20 69 73 0a 20 20 20 20 20 20 20 20 68 6f |ar is. ho| 00003310 77 20 74 6f 20 6d 6f 76 65 2f 73 69 7a 65 2f 74 |w to move/size/t| 00003320 6f 67 67 6c 65 2f 63 6c 6f 73 65 20 77 69 6e 64 |oggle/close wind| 00003330 6f 77 73 2c 20 61 6e 64 20 73 6f 20 6f 6e 0a 20 |ows, and so on. | 00003340 20 20 20 20 20 20 20 77 68 61 74 20 27 64 72 61 | what 'dra| 00003350 67 67 69 6e 67 20 61 6e 20 69 63 6f 6e 27 20 6d |gging an icon' m| 00003360 65 61 6e 73 0a 20 20 20 20 20 20 20 20 77 68 61 |eans. wha| 00003370 74 20 27 66 69 6c 6c 69 6e 67 20 69 6e 20 61 20 |t 'filling in a | 00003380 66 69 65 6c 64 27 20 28 77 72 69 74 61 62 6c 65 |field' (writable| 00003390 20 69 63 6f 6e 29 20 6d 65 61 6e 73 0a 0a 54 68 | icon) means..Th| 000033a0 65 20 6b 65 79 63 6f 64 65 20 63 6f 6d 6d 61 6e |e keycode comman| 000033b0 64 20 73 68 6f 75 6c 64 20 62 65 20 70 6c 61 63 |d should be plac| 000033c0 65 64 20 69 6e 20 74 68 65 20 69 63 6f 6e 20 74 |ed in the icon t| 000033d0 68 61 74 20 69 73 20 61 63 74 69 76 61 74 65 64 |hat is activated| 000033e0 20 62 79 20 74 68 65 20 0a 6b 65 79 63 6f 64 65 | by the .keycode| 000033f0 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 62 65 20 |. It should be | 00003400 61 20 64 65 63 69 6d 61 6c 20 69 6e 74 65 67 65 |a decimal intege| 00003410 72 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 |r specifying the| 00003420 20 6b 65 79 2e 20 20 54 68 65 20 75 70 2f 64 6f | key. The up/do| 00003430 77 6e 0a 61 72 72 6f 77 73 2c 20 74 61 62 20 65 |wn.arrows, tab e| 00003440 74 63 2e 2e 20 61 72 65 20 64 65 61 6c 74 20 77 |tc.. are dealt w| 00003450 69 74 68 2e 0a 0a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a |ith....*********| 00003460 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| 00003470 2a 2a 2a 20 54 68 65 20 53 57 49 20 43 61 6c 6c |*** The SWI Call| 00003480 73 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |s **************| 00003490 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| 000034a0 2a 2a 2a 0a 0a 57 69 6d 70 5f 42 6f 72 64 65 72 |***..Wimp_Border| 000034b0 49 63 6f 6e 20 28 49 6e 74 65 72 66 61 63 65 5f |Icon (Interface_| 000034c0 53 6c 61 62 42 75 74 74 6f 6e 29 20 28 53 57 49 |SlabButton) (SWI| 000034d0 20 26 38 31 36 38 30 29 0a 0a 52 31 20 3d 20 70 | &81680)..R1 = p| 000034e0 6f 69 6e 74 65 72 20 74 6f 20 62 6c 6f 63 6b 0a |ointer to block.| 000034f0 52 31 20 70 72 65 73 65 72 76 65 64 0a 0a 49 6e |R1 preserved..In| 00003500 74 65 72 72 75 70 74 73 20 61 72 65 20 6e 6f 74 |terrupts are not| 00003510 20 64 65 66 69 6e 65 64 0a 46 61 73 74 20 69 6e | defined.Fast in| 00003520 74 65 72 72 75 70 74 73 20 61 72 65 20 65 6e 61 |terrupts are ena| 00003530 62 6c 65 64 0a 0a 50 72 6f 63 65 73 73 6f 72 20 |bled..Processor | 00003540 69 73 20 69 6e 20 53 56 43 20 6d 6f 64 65 0a 0a |is in SVC mode..| 00003550 53 57 49 20 69 73 20 6e 6f 74 20 72 65 2d 65 6e |SWI is not re-en| 00003560 74 72 61 6e 74 0a 0a 54 68 65 20 62 6c 6f 63 6b |trant..The block| 00003570 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 6f | contains the fo| 00003580 6c 6c 6f 77 69 6e 67 20 6f 6e 20 65 6e 74 72 79 |llowing on entry| 00003590 3a 0a 0a 20 20 20 20 20 20 20 20 52 31 2b 30 20 |:.. R1+0 | 000035a0 20 20 20 6d 6f 75 73 65 20 78 20 28 73 63 72 65 | mouse x (scre| 000035b0 65 6e 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 2d |en coordinates -| 000035c0 20 6e 6f 74 20 77 69 6e 64 6f 77 20 72 65 6c 61 | not window rela| 000035d0 74 69 76 65 29 0a 20 20 20 20 20 20 20 20 52 31 |tive). R1| 000035e0 2b 34 20 20 20 20 6d 6f 75 73 65 20 79 0a 20 20 |+4 mouse y. | 000035f0 20 20 20 20 20 20 52 31 2b 38 20 20 20 20 62 75 | R1+8 bu| 00003600 74 74 6f 6e 73 20 28 64 65 70 65 6e 64 69 6e 67 |ttons (depending| 00003610 20 6f 6e 20 69 63 6f 6e 20 62 75 74 74 6f 6e 20 | on icon button | 00003620 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 52 31 |type). R1| 00003630 2b 31 32 20 20 20 77 69 6e 64 6f 77 20 68 61 6e |+12 window han| 00003640 64 6c 65 0a 20 20 20 20 20 20 20 20 52 31 2b 31 |dle. R1+1| 00003650 36 20 20 20 69 63 6f 6e 20 68 61 6e 64 6c 65 20 |6 icon handle | 00003660 20 0a 0a 54 68 69 73 20 63 61 6c 6c 20 69 73 20 | ..This call is | 00003670 75 73 65 64 20 74 6f 20 75 70 64 61 74 65 20 61 |used to update a| 00003680 6e 20 69 63 6f 6e 73 20 62 6f 72 64 65 72 2e 20 |n icons border. | 00003690 20 49 74 20 69 73 20 74 79 70 69 63 61 6c 6c 79 | It is typically| 000036a0 20 63 61 6c 6c 65 64 20 61 73 20 61 20 72 65 73 | called as a res| 000036b0 75 6c 74 20 6f 66 20 61 20 0a 4d 6f 75 73 65 5f |ult of a .Mouse_| 000036c0 43 6c 69 63 6b 20 65 76 65 6e 74 2c 20 69 66 20 |Click event, if | 000036d0 74 68 65 20 69 63 6f 6e 20 68 61 73 20 61 20 62 |the icon has a b| 000036e0 6f 72 64 65 72 20 74 79 70 65 20 6f 66 20 30 20 |order type of 0 | 000036f0 6f 72 20 32 20 74 68 65 6e 20 74 68 65 20 69 63 |or 2 then the ic| 00003700 6f 6e 20 77 69 6c 6c 20 73 6c 61 62 20 0a 69 6e |on will slab .in| 00003710 77 61 72 64 73 2e 20 20 54 68 65 20 66 6f 72 6d |wards. The form| 00003720 61 74 20 6f 66 20 74 68 65 20 76 61 6c 69 64 61 |at of the valida| 00003730 74 69 6f 6e 20 73 74 72 69 6e 67 20 69 73 20 64 |tion string is d| 00003740 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 |escribed in the | 00003750 70 72 65 76 69 6f 75 73 20 73 65 63 74 69 6f 6e |previous section| 00003760 2e 0a 0a 54 68 65 20 61 70 70 6c 69 63 61 74 69 |...The applicati| 00003770 6f 6e 20 73 68 6f 75 6c 64 20 74 68 65 20 70 65 |on should the pe| 00003780 72 66 6f 72 6d 20 74 68 65 20 74 61 73 6b 20 61 |rform the task a| 00003790 6e 64 20 74 68 65 6e 20 66 6f 72 63 65 20 74 68 |nd then force th| 000037a0 65 20 69 63 6f 6e 20 74 6f 20 6e 6f 72 6d 61 6c |e icon to normal| 000037b0 20 73 74 61 74 75 73 20 0a 62 79 20 63 61 6c 6c | status .by call| 000037c0 69 6e 67 20 57 69 6d 70 5f 42 6f 72 64 65 72 49 |ing Wimp_BorderI| 000037d0 63 6f 6e 20 28 53 57 49 20 26 38 31 36 38 30 29 |con (SWI &81680)| 000037e0 20 77 69 74 68 20 52 31 2b 38 20 73 65 74 20 74 | with R1+8 set t| 000037f0 6f 20 30 2e 0a 0a 54 68 65 20 63 6f 64 65 20 74 |o 0...The code t| 00003800 6f 20 62 6f 72 64 65 72 20 69 63 6f 6e 73 20 61 |o border icons a| 00003810 6e 64 20 77 69 6e 64 6f 77 73 20 69 73 20 6f 75 |nd windows is ou| 00003820 74 6c 69 6e 65 64 20 69 6e 20 74 68 65 20 73 65 |tlined in the se| 00003830 63 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e |ction Programmin| 00003840 67 20 0a 49 6e 74 65 72 66 61 63 65 2e 20 0a 0a |g .Interface. ..| 00003850 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6d 6f |Note that the mo| 00003860 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 |use coordinates | 00003870 73 70 65 63 69 66 69 65 64 20 69 6e 20 52 31 2b |specified in R1+| 00003880 30 20 61 6e 64 20 52 31 2b 34 20 61 72 65 20 6e |0 and R1+4 are n| 00003890 6f 74 20 75 73 65 64 20 62 79 20 74 68 65 20 0a |ot used by the .| 000038a0 53 57 49 20 61 6e 64 20 61 72 65 20 6f 6e 6c 79 |SWI and are only| 000038b0 20 70 72 65 73 65 6e 74 20 74 6f 20 6d 61 6b 65 | present to make| 000038c0 20 74 68 65 20 62 6c 6f 63 6b 20 63 6f 6d 70 61 | the block compa| 000038d0 74 69 62 6c 65 20 77 69 74 68 20 61 20 4d 6f 75 |tible with a Mou| 000038e0 73 65 5f 43 6c 69 63 6b 20 65 76 65 6e 74 20 0a |se_Click event .| 000038f0 62 6c 6f 63 6b 2e 0a 0a 57 69 6d 70 5f 42 6f 72 |block...Wimp_Bor| 00003900 64 65 72 57 69 6e 64 6f 77 20 28 53 57 49 20 26 |derWindow (SWI &| 00003910 38 31 36 38 31 29 0a 0a 4e 6f 6e 65 0a 0a 0a 0a |81681)..None....| 00003920 0a 0a 57 69 6d 70 5f 42 6f 72 64 65 72 57 69 6e |..Wimp_BorderWin| 00003930 64 6f 77 20 28 49 6e 74 65 72 66 61 63 65 5f 52 |dow (Interface_R| 00003940 65 6e 64 65 72 33 64 57 69 6e 64 6f 77 29 20 28 |ender3dWindow) (| 00003950 53 57 49 20 26 38 31 36 38 31 29 0a 0a 52 31 20 |SWI &81681)..R1 | 00003960 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 62 6c 6f |= pointer to blo| 00003970 63 6b 0a 52 31 20 70 72 65 73 65 72 76 65 64 0a |ck.R1 preserved.| 00003980 0a 49 6e 74 65 72 72 75 70 74 73 20 61 72 65 20 |.Interrupts are | 00003990 6e 6f 74 20 64 65 66 69 6e 65 64 0a 46 61 73 74 |not defined.Fast| 000039a0 20 69 6e 74 65 72 72 75 70 74 73 20 61 72 65 20 | interrupts are | 000039b0 65 6e 61 62 6c 65 64 0a 0a 50 72 6f 63 65 73 73 |enabled..Process| 000039c0 6f 72 20 69 73 20 69 6e 20 53 56 43 20 6d 6f 64 |or is in SVC mod| 000039d0 65 0a 0a 53 57 49 20 69 73 20 6e 6f 74 20 72 65 |e..SWI is not re| 000039e0 2d 65 6e 74 72 61 6e 74 0a 0a 54 68 65 20 62 6c |-entrant..The bl| 000039f0 6f 63 6b 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 |ock contains the| 00003a00 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 6e 20 65 6e | following on en| 00003a10 74 72 79 3a 0a 0a 20 20 20 20 20 20 20 20 52 31 |try:.. R1| 00003a20 2b 30 20 20 20 20 77 69 6e 64 6f 77 20 68 61 6e |+0 window han| 00003a30 64 6c 65 0a 20 20 20 20 20 20 20 20 52 31 2b 34 |dle. R1+4| 00003a40 20 20 20 20 76 69 73 69 62 6c 65 20 61 72 65 61 | visible area| 00003a50 20 6d 69 6e 69 6d 75 6d 20 78 20 63 6f 6f 72 64 | minimum x coord| 00003a60 69 6e 61 74 65 0a 20 20 20 20 20 20 20 20 52 31 |inate. R1| 00003a70 2b 38 20 20 20 20 76 69 73 69 62 6c 65 20 61 72 |+8 visible ar| 00003a80 65 61 20 6d 69 6e 69 6d 75 6d 20 79 20 63 6f 6f |ea minimum y coo| 00003a90 72 64 69 6e 61 74 65 0a 20 20 20 20 20 20 20 20 |rdinate. | 00003aa0 52 31 2b 31 32 20 20 20 76 69 73 69 62 6c 65 20 |R1+12 visible | 00003ab0 61 72 65 61 20 6d 61 78 69 6d 75 6d 20 78 20 63 |area maximum x c| 00003ac0 6f 6f 72 64 69 6e 61 74 65 0a 20 20 20 20 20 20 |oordinate. | 00003ad0 20 20 52 31 2b 31 36 20 20 20 76 69 73 69 62 6c | R1+16 visibl| 00003ae0 65 20 61 72 65 61 20 6d 61 78 69 6d 75 6d 20 79 |e area maximum y| 00003af0 20 63 6f 6f 72 64 69 6e 61 74 65 0a 20 20 20 20 | coordinate. | 00003b00 20 20 20 20 52 31 2b 32 30 20 20 20 73 63 72 6f | R1+20 scro| 00003b10 6c 6c 20 78 20 6f 66 66 73 65 74 20 72 65 6c 61 |ll x offset rela| 00003b20 74 69 76 65 20 74 6f 20 77 6f 72 6b 20 61 72 65 |tive to work are| 00003b30 61 20 6f 72 69 67 69 6e 0a 20 20 20 20 20 20 20 |a origin. | 00003b40 20 52 31 2b 32 34 20 20 20 73 63 72 6f 6c 6c 20 | R1+24 scroll | 00003b50 79 20 6f 66 66 73 65 74 20 72 65 6c 61 74 69 76 |y offset relativ| 00003b60 65 20 74 6f 20 77 6f 72 6b 20 61 72 65 61 20 6f |e to work area o| 00003b70 72 69 67 69 6e 0a 20 20 20 20 20 20 20 20 52 31 |rigin. R1| 00003b80 2b 32 38 20 20 20 63 75 72 72 65 6e 74 20 67 72 |+28 current gr| 00003b90 61 70 68 69 63 73 20 77 69 6e 64 6f 77 20 6d 69 |aphics window mi| 00003ba0 6e 69 6d 75 6d 20 78 20 63 6f 6f 72 64 69 6e 61 |nimum x coordina| 00003bb0 74 65 0a 20 20 20 20 20 20 20 20 52 31 2b 33 32 |te. R1+32| 00003bc0 20 20 20 63 75 72 72 65 6e 74 20 67 72 61 70 68 | current graph| 00003bd0 69 63 73 20 77 69 6e 64 6f 77 20 6d 69 6e 69 6d |ics window minim| 00003be0 75 6d 20 79 20 63 6f 6f 72 64 69 6e 61 74 65 0a |um y coordinate.| 00003bf0 20 20 20 20 20 20 20 20 52 31 2b 33 36 20 20 20 | R1+36 | 00003c00 63 75 72 72 65 6e 74 20 67 72 61 70 68 69 63 73 |current graphics| 00003c10 20 77 69 6e 64 6f 77 20 6d 61 78 69 6d 75 6d 20 | window maximum | 00003c20 78 20 63 6f 6f 72 64 69 6e 61 74 65 0a 20 20 20 |x coordinate. | 00003c30 20 20 20 20 20 52 31 2b 34 30 20 20 20 63 75 72 | R1+40 cur| 00003c40 72 65 6e 74 20 67 72 61 70 68 69 63 73 20 77 69 |rent graphics wi| 00003c50 6e 64 6f 77 20 6d 61 78 69 6d 75 6d 20 79 20 63 |ndow maximum y c| 00003c60 6f 6f 72 64 69 6e 61 74 65 0a 0a 54 68 69 73 20 |oordinate..This | 00003c70 63 61 6c 6c 20 69 73 20 75 73 65 64 20 74 6f 20 |call is used to | 00003c80 72 65 64 72 61 77 20 74 68 65 20 62 6f 72 64 65 |redraw the borde| 00003c90 72 73 20 6f 66 20 69 63 6f 6e 73 20 69 6e 20 74 |rs of icons in t| 00003ca0 68 65 20 77 69 6e 64 6f 77 20 74 68 61 74 20 61 |he window that a| 00003cb0 72 65 20 6e 6f 74 20 75 70 2d 74 6f 2d 64 61 74 |re not up-to-dat| 00003cc0 65 2c 20 20 0a 74 68 69 73 20 53 57 49 20 69 73 |e, .this SWI is| 00003cd0 20 74 79 70 69 63 61 6c 6c 79 20 63 61 6c 6c 65 | typically calle| 00003ce0 64 20 64 75 72 69 6e 67 20 74 68 65 20 72 65 64 |d during the red| 00003cf0 72 61 77 20 6c 6f 6f 70 20 6f 66 20 61 20 77 69 |raw loop of a wi| 00003d00 6e 64 6f 77 2e 20 20 54 68 65 20 53 57 49 20 77 |ndow. The SWI w| 00003d10 69 6c 6c 20 0a 75 70 64 61 74 65 20 74 68 65 20 |ill .update the | 00003d20 77 69 6e 64 6f 77 2c 20 64 72 61 77 69 6e 67 20 |window, drawing | 00003d30 62 6f 72 64 65 72 73 20 61 72 6f 75 6e 64 20 61 |borders around a| 00003d40 6e 79 20 69 63 6f 6e 73 20 77 68 69 63 68 20 68 |ny icons which h| 00003d50 61 76 65 20 74 68 65 20 62 20 63 6f 6d 6d 61 6e |ave the b comman| 00003d60 64 20 0a 73 70 65 63 69 66 69 65 64 20 69 6e 20 |d .specified in | 00003d70 74 68 65 20 76 61 6c 69 64 61 74 69 6f 6e 20 73 |the validation s| 00003d80 74 72 69 6e 67 20 61 6e 64 20 61 72 65 20 77 69 |tring and are wi| 00003d90 74 68 69 6e 20 74 68 65 20 73 70 65 63 69 66 69 |thin the specifi| 00003da0 65 64 20 67 72 61 70 68 69 63 73 20 77 69 6e 64 |ed graphics wind| 00003db0 6f 77 2e 0a 0a 54 68 65 20 63 6f 64 65 20 74 6f |ow...The code to| 00003dc0 20 62 6f 72 64 65 72 20 69 63 6f 6e 73 20 61 6e | border icons an| 00003dd0 64 20 77 69 6e 64 6f 77 73 20 69 73 20 6f 75 74 |d windows is out| 00003de0 6c 69 6e 65 64 20 69 6e 20 74 68 65 20 73 65 63 |lined in the sec| 00003df0 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 |tion Programming| 00003e00 20 0a 49 6e 74 65 72 66 61 63 65 2e 20 0a 0a 57 | .Interface. ..W| 00003e10 69 6d 70 5f 42 6f 72 64 65 72 49 63 6f 6e 20 28 |imp_BorderIcon (| 00003e20 53 57 49 20 26 38 31 36 38 30 29 0a 0a 4e 6f 6e |SWI &81680)..Non| 00003e30 65 20 0a 0a 0a 0a 0a 57 69 6d 70 5f 43 6c 61 69 |e .....Wimp_Clai| 00003e40 6d 49 6e 74 65 72 66 61 63 65 20 28 49 6e 74 65 |mInterface (Inte| 00003e50 72 66 61 63 65 5f 49 6e 69 74 69 61 6c 69 73 65 |rface_Initialise| 00003e60 29 20 28 53 57 49 20 26 38 31 36 38 32 29 0a 0a |) (SWI &81682)..| 00003e70 52 30 20 3d 20 74 61 73 6b 20 68 61 6e 64 6c 65 |R0 = task handle| 00003e80 0a 52 30 20 70 72 65 73 65 72 76 65 64 0a 0a 49 |.R0 preserved..I| 00003e90 6e 74 65 72 72 75 70 74 73 20 61 72 65 20 6e 6f |nterrupts are no| 00003ea0 74 20 64 65 66 69 6e 65 64 0a 46 61 73 74 20 69 |t defined.Fast i| 00003eb0 6e 74 65 72 72 75 70 74 73 20 61 72 65 20 65 6e |nterrupts are en| 00003ec0 61 62 6c 65 64 0a 0a 50 72 6f 63 65 73 73 6f 72 |abled..Processor| 00003ed0 20 69 73 20 69 6e 20 53 56 43 20 6d 6f 64 65 0a | is in SVC mode.| 00003ee0 0a 53 57 49 20 69 73 20 6e 6f 74 20 72 65 2d 65 |.SWI is not re-e| 00003ef0 6e 74 72 61 6e 74 0a 0a 54 68 69 73 20 53 57 49 |ntrant..This SWI| 00003f00 20 61 6c 6c 6f 77 73 20 79 6f 75 72 20 61 70 70 | allows your app| 00003f10 6c 69 63 61 74 69 6f 6e 20 74 6f 20 75 73 65 20 |lication to use | 00003f20 70 6f 69 6e 74 65 72 73 20 76 69 61 20 74 68 65 |pointers via the| 00003f30 20 49 6e 74 65 72 66 61 63 65 20 6d 6f 64 75 6c | Interface modul| 00003f40 65 2e 20 20 54 68 69 73 20 0a 53 57 49 20 73 68 |e. This .SWI sh| 00003f50 6f 75 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 61 |ould be called a| 00003f60 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 |t the beginning | 00003f70 6f 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e |of your program.| 00003f80 20 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 75 | If you don't u| 00003f90 73 65 20 0a 57 69 6d 70 5f 43 6c 61 69 6d 49 6e |se .Wimp_ClaimIn| 00003fa0 74 65 72 66 61 63 65 20 74 68 65 6e 20 79 6f 75 |terface then you| 00003fb0 72 20 70 6f 69 6e 74 65 72 73 20 77 69 6c 6c 20 |r pointers will | 00003fc0 6e 6f 74 20 62 65 20 64 69 73 70 6c 61 79 65 64 |not be displayed| 00003fd0 2e 0a 0a 57 69 6d 70 5f 52 65 6c 65 61 73 65 49 |...Wimp_ReleaseI| 00003fe0 6e 74 65 72 66 61 63 65 20 28 53 57 49 20 26 38 |nterface (SWI &8| 00003ff0 31 36 38 33 29 0a 0a 4e 6f 6e 65 0a 0a 0a 0a 0a |1683)..None.....| 00004000 57 69 6d 70 5f 52 65 6c 65 61 73 65 49 6e 74 65 |Wimp_ReleaseInte| 00004010 72 66 61 63 65 20 28 49 6e 74 65 72 66 61 63 65 |rface (Interface| 00004020 5f 43 6c 6f 73 65 44 6f 77 6e 29 20 28 53 57 49 |_CloseDown) (SWI| 00004030 20 26 38 31 36 38 33 29 0a 0a 52 30 20 3d 20 74 | &81683)..R0 = t| 00004040 61 73 6b 20 68 61 6e 64 6c 65 0a 52 30 20 70 72 |ask handle.R0 pr| 00004050 65 73 65 72 76 65 64 0a 0a 49 6e 74 65 72 72 75 |eserved..Interru| 00004060 70 74 73 20 61 72 65 20 6e 6f 74 20 64 65 66 69 |pts are not defi| 00004070 6e 65 64 0a 46 61 73 74 20 69 6e 74 65 72 72 75 |ned.Fast interru| 00004080 70 74 73 20 61 72 65 20 65 6e 61 62 6c 65 64 0a |pts are enabled.| 00004090 0a 50 72 6f 63 65 73 73 6f 72 20 69 73 20 69 6e |.Processor is in| 000040a0 20 53 56 43 20 6d 6f 64 65 0a 0a 53 57 49 20 69 | SVC mode..SWI i| 000040b0 73 20 6e 6f 74 20 72 65 2d 65 6e 74 72 61 6e 74 |s not re-entrant| 000040c0 0a 0a 54 68 69 73 20 53 57 49 20 73 74 6f 70 73 |..This SWI stops| 000040d0 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f | your applicatio| 000040e0 6e 20 66 72 6f 6d 20 75 73 69 6e 67 20 70 6f 69 |n from using poi| 000040f0 6e 74 65 72 73 2e 20 20 57 68 65 6e 20 74 68 69 |nters. When thi| 00004100 73 20 53 57 49 20 69 73 20 63 61 6c 6c 65 64 20 |s SWI is called | 00004110 0a 49 6e 74 65 72 66 61 63 65 20 4d 61 6e 61 67 |.Interface Manag| 00004120 65 72 20 77 69 6c 6c 20 65 72 61 73 65 20 61 6e |er will erase an| 00004130 79 20 77 6f 72 6b 61 72 65 61 20 70 6f 69 6e 74 |y workarea point| 00004140 65 72 73 20 61 73 73 69 67 6e 65 64 20 74 6f 20 |ers assigned to | 00004150 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e |your application| 00004160 20 61 6e 64 20 0a 66 72 65 65 20 74 68 65 20 6d | and .free the m| 00004170 65 6d 6f 72 79 2e 20 20 54 68 69 73 20 73 68 6f |emory. This sho| 00004180 75 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 69 6e |uld be called in| 00004190 20 79 6f 75 72 20 65 78 69 74 20 68 61 6e 64 6c | your exit handl| 000041a0 65 72 2c 20 61 6c 73 6f 20 69 66 20 61 6e 20 65 |er, also if an e| 000041b0 72 72 6f 72 20 6f 63 63 75 72 73 20 0a 79 6f 75 |rror occurs .you| 000041c0 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 63 61 6c | should also cal| 000041d0 6c 20 74 68 69 73 20 53 57 49 20 74 6f 20 73 74 |l this SWI to st| 000041e0 6f 70 20 6f 74 68 65 72 20 61 70 70 6c 69 63 61 |op other applica| 000041f0 74 69 6f 6e 73 20 66 72 6f 6d 20 67 61 69 6e 69 |tions from gaini| 00004200 6e 67 20 79 6f 75 72 20 70 6f 69 6e 74 65 72 73 |ng your pointers| 00004210 2e 0a 0a 57 69 6d 70 5f 43 6c 61 69 6d 49 6e 74 |...Wimp_ClaimInt| 00004220 65 72 66 61 63 65 20 28 53 57 49 20 26 38 31 36 |erface (SWI &816| 00004230 38 32 29 0a 0a 4e 6f 6e 65 0a 0a 0a 0a 0a 57 69 |82)..None.....Wi| 00004240 6d 70 5f 53 65 74 57 6f 72 6b 61 72 65 61 50 6f |mp_SetWorkareaPo| 00004250 69 6e 74 65 72 20 28 49 6e 74 65 72 66 61 63 65 |inter (Interface| 00004260 5f 53 65 74 57 6f 72 6b 61 72 65 61 50 6f 69 6e |_SetWorkareaPoin| 00004270 74 65 72 29 20 28 53 57 49 20 26 38 31 36 38 34 |ter) (SWI &81684| 00004280 29 0a 0a 52 31 20 3d 20 70 6f 69 6e 74 65 72 20 |)..R1 = pointer | 00004290 74 6f 20 62 6c 6f 63 6b 0a 52 31 20 70 72 65 73 |to block.R1 pres| 000042a0 65 72 76 65 64 0a 0a 49 6e 74 65 72 72 75 70 74 |erved..Interrupt| 000042b0 20 73 74 61 74 75 73 20 69 73 20 75 6e 64 65 66 | status is undef| 000042c0 69 6e 65 64 0a 46 61 73 74 20 69 6e 74 65 72 72 |ined.Fast interr| 000042d0 75 70 74 73 20 61 72 65 20 65 6e 61 62 6c 65 64 |upts are enabled| 000042e0 0a 0a 50 72 6f 63 65 73 73 6f 72 20 69 73 20 69 |..Processor is i| 000042f0 6e 20 53 56 43 20 6d 6f 64 65 0a 0a 53 57 49 20 |n SVC mode..SWI | 00004300 69 73 20 6e 6f 74 20 72 65 2d 65 6e 74 72 61 6e |is not re-entran| 00004310 74 0a 0a 54 68 65 20 62 6c 6f 63 6b 20 63 6f 6e |t..The block con| 00004320 74 61 69 6e 73 20 74 68 65 20 66 6f 6c 6c 6f 77 |tains the follow| 00004330 69 6e 67 20 6f 6e 20 65 6e 74 72 79 3a 0a 0a 20 |ing on entry:.. | 00004340 20 20 20 20 20 20 20 52 31 2b 30 20 20 20 20 77 | R1+0 w| 00004350 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 20 20 20 |indow handle. | 00004360 20 20 20 20 20 52 31 2b 34 20 20 20 20 6d 69 6e | R1+4 min| 00004370 69 6d 75 6d 20 78 20 63 6f 6f 72 64 69 6e 61 74 |imum x coordinat| 00004380 65 20 6f 66 20 62 6f 75 6e 64 69 6e 67 20 62 6f |e of bounding bo| 00004390 78 0a 20 20 20 20 20 20 20 20 52 31 2b 38 20 20 |x. R1+8 | 000043a0 20 20 6d 69 6e 69 6d 75 6d 20 79 20 63 6f 6f 72 | minimum y coor| 000043b0 64 69 6e 61 74 65 20 6f 66 20 62 6f 75 6e 64 69 |dinate of boundi| 000043c0 6e 67 20 62 6f 78 0a 20 20 20 20 20 20 20 20 52 |ng box. R| 000043d0 31 2b 31 32 20 20 20 6d 61 78 69 6d 75 6d 20 78 |1+12 maximum x| 000043e0 20 63 6f 6f 72 64 69 6e 61 74 65 20 6f 66 20 62 | coordinate of b| 000043f0 6f 75 6e 64 69 6e 67 20 62 6f 78 0a 20 20 20 20 |ounding box. | 00004400 20 20 20 20 52 31 2b 31 36 20 20 20 6d 61 78 69 | R1+16 maxi| 00004410 6d 75 6d 20 79 20 63 6f 6f 72 64 69 6e 61 74 65 |mum y coordinate| 00004420 20 6f 66 20 62 6f 75 6e 64 69 6e 67 20 62 6f 78 | of bounding box| 00004430 0a 20 20 20 20 20 20 20 20 52 31 2b 32 30 20 20 |. R1+20 | 00004440 20 32 34 20 62 79 74 65 73 20 6f 66 20 70 6f 69 | 24 bytes of poi| 00004450 6e 74 65 72 20 64 61 74 61 0a 0a 54 68 69 73 20 |nter data..This | 00004460 73 70 65 63 69 66 69 65 73 20 74 68 65 20 70 6f |specifies the po| 00004470 69 6e 74 65 72 20 66 6f 72 20 61 6e 20 61 72 65 |inter for an are| 00004480 61 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 2e |a of the window.| 00004490 0a 54 68 65 20 62 6f 75 6e 64 69 6e 67 20 62 6f |.The bounding bo| 000044a0 78 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 72 |x coordinates ar| 000044b0 65 20 67 69 76 65 6e 20 72 65 6c 61 74 69 76 65 |e given relative| 000044c0 20 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 27 73 | to the window's| 000044d0 20 77 6f 72 6b 20 61 72 65 61 20 6f 72 69 67 69 | work area origi| 000044e0 6e 2e 20 20 0a 52 31 2b 34 20 74 6f 20 52 31 2b |n. .R1+4 to R1+| 000044f0 31 36 20 63 61 6e 20 62 65 20 73 65 74 20 74 6f |16 can be set to| 00004500 20 2d 31 20 74 6f 20 73 70 65 63 69 66 79 20 74 | -1 to specify t| 00004510 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 65 20 |he whole of the | 00004520 77 69 6e 64 6f 77 27 73 20 77 6f 72 6b 20 61 72 |window's work ar| 00004530 65 61 2e 0a 54 68 65 20 70 6f 69 6e 74 65 72 20 |ea..The pointer | 00004540 64 61 74 61 20 61 74 20 2b 32 30 20 74 6f 20 2b |data at +20 to +| 00004550 34 34 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 |44 contains the | 00004560 73 70 72 69 74 65 20 6e 61 6d 65 20 61 6e 64 20 |sprite name and | 00004570 61 6e 79 20 78 2c 20 79 20 6f 66 66 73 65 74 2c |any x, y offset,| 00004580 20 73 65 65 20 0a 76 61 6c 69 64 61 74 69 6f 6e | see .validation| 00004590 20 73 74 72 69 6e 67 73 20 66 6f 72 20 6d 6f 72 | strings for mor| 000045a0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a |e information...| 000045b0 57 69 6d 70 5f 52 65 6d 6f 76 65 57 6f 72 6b 61 |Wimp_RemoveWorka| 000045c0 72 65 61 50 6f 69 6e 74 65 72 20 28 53 57 49 20 |reaPointer (SWI | 000045d0 26 38 31 36 38 35 29 0a 57 69 6d 70 5f 50 6f 6c |&81685).Wimp_Pol| 000045e0 6c 50 6f 69 6e 74 65 72 20 28 53 57 49 20 26 38 |lPointer (SWI &8| 000045f0 31 36 38 36 29 0a 0a 4e 6f 6e 65 0a 0a 0a 0a 0a |1686)..None.....| 00004600 0a 57 69 6d 70 5f 52 65 6d 6f 76 65 57 6f 72 6b |.Wimp_RemoveWork| 00004610 61 72 65 61 50 6f 69 6e 74 65 72 20 28 49 6e 74 |areaPointer (Int| 00004620 65 72 66 61 63 65 5f 52 65 6d 6f 76 65 57 6f 72 |erface_RemoveWor| 00004630 6b 61 72 65 61 50 6f 69 6e 74 65 72 29 20 28 53 |kareaPointer) (S| 00004640 57 49 20 26 38 31 36 38 35 29 0a 0a 52 30 20 3d |WI &81685)..R0 =| 00004650 20 74 61 73 6b 20 68 61 6e 64 6c 65 0a 52 31 20 | task handle.R1 | 00004660 3d 20 70 6f 69 6e 74 65 72 20 74 6f 20 62 6c 6f |= pointer to blo| 00004670 63 6b 0a 0a 52 30 20 70 72 65 73 65 72 76 65 64 |ck..R0 preserved| 00004680 0a 52 31 20 70 72 65 73 65 72 76 65 64 0a 0a 49 |.R1 preserved..I| 00004690 6e 74 65 72 72 75 70 74 20 73 74 61 74 75 73 20 |nterrupt status | 000046a0 69 73 20 75 6e 64 65 66 69 6e 65 64 0a 46 61 73 |is undefined.Fas| 000046b0 74 20 69 6e 74 65 72 72 75 70 74 73 20 61 72 65 |t interrupts are| 000046c0 20 65 6e 61 62 6c 65 64 0a 0a 50 72 6f 63 65 73 | enabled..Proces| 000046d0 73 6f 72 20 69 73 20 69 6e 20 53 56 43 20 6d 6f |sor is in SVC mo| 000046e0 64 65 0a 0a 53 57 49 20 69 73 20 6e 6f 74 20 72 |de..SWI is not r| 000046f0 65 2d 65 6e 74 72 61 6e 74 0a 0a 54 68 65 20 62 |e-entrant..The b| 00004700 6c 6f 63 6b 20 63 6f 6e 74 61 69 6e 73 20 74 68 |lock contains th| 00004710 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 6e 20 65 |e following on e| 00004720 6e 74 72 79 3a 0a 0a 20 20 20 20 20 20 20 20 52 |ntry:.. R| 00004730 31 2b 30 20 20 20 20 77 69 6e 64 6f 77 20 68 61 |1+0 window ha| 00004740 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 52 31 2b |ndle. R1+| 00004750 34 20 20 20 20 6d 69 6e 69 6d 75 6d 20 78 20 63 |4 minimum x c| 00004760 6f 6f 72 64 69 6e 61 74 65 20 6f 66 20 62 6f 75 |oordinate of bou| 00004770 6e 64 69 6e 67 20 62 6f 78 0a 20 20 20 20 20 20 |nding box. | 00004780 20 20 52 31 2b 38 20 20 20 20 6d 69 6e 69 6d 75 | R1+8 minimu| 00004790 6d 20 79 20 63 6f 6f 72 64 69 6e 61 74 65 20 6f |m y coordinate o| 000047a0 66 20 62 6f 75 6e 64 69 6e 67 20 62 6f 78 0a 20 |f bounding box. | 000047b0 20 20 20 20 20 20 20 52 31 2b 31 32 20 20 20 6d | R1+12 m| 000047c0 61 78 69 6d 75 6d 20 78 20 63 6f 6f 72 64 69 6e |aximum x coordin| 000047d0 61 74 65 20 6f 66 20 62 6f 75 6e 64 69 6e 67 20 |ate of bounding | 000047e0 62 6f 78 0a 20 20 20 20 20 20 20 20 52 31 2b 31 |box. R1+1| 000047f0 36 20 20 20 6d 61 78 69 6d 75 6d 20 79 20 63 6f |6 maximum y co| 00004800 6f 72 64 69 6e 61 74 65 20 6f 66 20 62 6f 75 6e |ordinate of boun| 00004810 64 69 6e 67 20 62 6f 78 0a 0a 54 68 69 73 20 63 |ding box..This c| 00004820 61 6c 6c 20 72 65 6d 6f 76 65 73 20 61 20 70 72 |all removes a pr| 00004830 65 76 69 6f 75 73 6c 79 20 69 6e 73 74 61 6c 6c |eviously install| 00004840 65 64 20 70 6f 69 6e 74 65 72 20 66 72 6f 6d 20 |ed pointer from | 00004850 74 68 65 20 6c 69 73 74 20 6f 66 20 61 63 74 69 |the list of acti| 00004860 76 65 20 70 6f 69 6e 74 65 72 20 61 72 65 61 73 |ve pointer areas| 00004870 20 0a 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 | .for the specif| 00004880 69 65 64 20 77 69 6e 64 6f 77 2e 20 20 57 68 65 |ied window. Whe| 00004890 6e 20 61 20 77 69 6e 64 6f 77 20 69 73 20 64 65 |n a window is de| 000048a0 6c 65 74 65 64 20 79 6f 75 20 73 68 6f 75 6c 64 |leted you should| 000048b0 20 72 65 6d 6f 76 65 20 61 6e 79 20 0a 70 6f 69 | remove any .poi| 000048c0 6e 74 65 72 73 20 74 68 61 74 20 77 65 72 65 20 |nters that were | 000048d0 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 77 |related to the w| 000048e0 69 6e 64 6f 77 2c 20 6f 74 68 65 72 77 69 73 65 |indow, otherwise| 000048f0 20 74 68 65 73 65 20 70 6f 69 6e 74 65 72 73 20 | these pointers | 00004900 6d 61 79 20 62 65 63 6f 6d 65 20 0a 61 63 74 69 |may become .acti| 00004910 76 65 20 6f 6e 20 61 6e 79 20 77 69 6e 64 6f 77 |ve on any window| 00004920 20 77 68 69 63 68 20 67 61 69 6e 73 20 74 68 65 | which gains the| 00004930 20 73 61 6d 65 20 77 69 6e 64 6f 77 20 68 61 6e | same window han| 00004940 64 6c 65 20 69 6e 20 74 68 65 20 66 75 74 75 72 |dle in the futur| 00004950 65 2e 20 0a 0a 54 68 65 20 62 6f 75 6e 64 69 6e |e. ..The boundin| 00004960 67 20 62 6f 78 20 63 6f 6f 72 64 69 6e 61 74 65 |g box coordinate| 00004970 73 20 61 72 65 20 67 69 76 65 6e 20 72 65 6c 61 |s are given rela| 00004980 74 69 76 65 20 74 6f 20 74 68 65 20 77 69 6e 64 |tive to the wind| 00004990 6f 77 27 73 20 77 6f 72 6b 20 61 72 65 61 20 6f |ow's work area o| 000049a0 72 69 67 69 6e 2e 20 20 0a 52 31 2b 34 20 74 6f |rigin. .R1+4 to| 000049b0 20 52 31 2b 31 36 20 63 61 6e 20 62 65 20 73 65 | R1+16 can be se| 000049c0 74 20 74 6f 20 2d 31 20 74 6f 20 73 70 65 63 69 |t to -1 to speci| 000049d0 66 79 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 |fy the whole of | 000049e0 74 68 65 20 77 69 6e 64 6f 77 27 73 20 77 6f 72 |the window's wor| 000049f0 6b 20 61 72 65 61 2e 20 20 0a 52 31 2b 34 20 74 |k area. .R1+4 t| 00004a00 6f 20 52 31 2b 31 36 20 6d 61 79 20 62 65 20 73 |o R1+16 may be s| 00004a10 65 74 20 74 6f 20 30 20 74 6f 20 72 65 6d 6f 76 |et to 0 to remov| 00004a20 65 20 61 6c 6c 20 77 6f 72 6b 20 61 72 65 61 20 |e all work area | 00004a30 70 6f 69 6e 74 65 72 73 20 61 73 73 69 67 6e 65 |pointers assigne| 00004a40 64 20 74 6f 20 74 68 65 20 0a 77 69 6e 64 6f 77 |d to the .window| 00004a50 2e 0a 0a 57 69 6d 70 5f 53 65 74 57 6f 72 6b 61 |...Wimp_SetWorka| 00004a60 72 65 61 50 6f 69 6e 74 65 72 20 28 53 57 49 20 |reaPointer (SWI | 00004a70 26 38 31 36 38 34 29 0a 57 69 6d 70 5f 50 6f 6c |&81684).Wimp_Pol| 00004a80 6c 50 6f 69 6e 74 65 72 20 28 53 57 49 20 26 38 |lPointer (SWI &8| 00004a90 31 36 38 36 29 0a 0a 4e 6f 6e 65 0a 0a 0a 0a 0a |1686)..None.....| 00004aa0 0a 57 69 6d 70 5f 50 6f 6c 6c 50 6f 69 6e 74 65 |.Wimp_PollPointe| 00004ab0 72 20 28 49 6e 74 65 72 66 61 63 65 5f 50 6f 6c |r (Interface_Pol| 00004ac0 6c 29 20 28 53 57 49 20 26 38 31 36 38 36 29 0a |l) (SWI &81686).| 00004ad0 0a 52 30 20 3d 20 57 69 6d 70 5f 50 6f 6c 6c 20 |.R0 = Wimp_Poll | 00004ae0 72 65 61 73 6f 6e 20 63 6f 64 65 0a 52 32 20 3d |reason code.R2 =| 00004af0 20 74 61 73 6b 20 68 61 6e 64 6c 65 0a 0a 52 30 | task handle..R0| 00004b00 20 70 72 65 73 65 72 76 65 64 0a 52 40 20 70 72 | preserved.R@ pr| 00004b10 65 73 65 72 76 65 64 0a 0a 49 6e 74 65 72 72 75 |eserved..Interru| 00004b20 70 74 20 73 74 61 74 75 73 20 69 73 20 75 6e 64 |pt status is und| 00004b30 65 66 69 6e 65 64 0a 46 61 73 74 20 69 6e 74 65 |efined.Fast inte| 00004b40 72 72 75 70 74 73 20 61 72 65 20 65 6e 61 62 6c |rrupts are enabl| 00004b50 65 64 0a 0a 50 72 6f 63 65 73 73 6f 72 20 69 73 |ed..Processor is| 00004b60 20 69 6e 20 53 56 43 20 6d 6f 64 65 0a 0a 53 57 | in SVC mode..SW| 00004b70 49 20 6e 6f 74 20 72 65 2d 65 6e 74 72 61 6e 74 |I not re-entrant| 00004b80 0a 0a 54 68 69 73 20 63 61 6c 6c 20 63 68 65 63 |..This call chec| 00004b90 6b 73 20 74 6f 20 73 65 65 20 69 66 20 74 68 65 |ks to see if the| 00004ba0 20 70 6f 69 6e 74 65 72 20 69 73 20 75 70 2d 74 | pointer is up-t| 00004bb0 6f 2d 64 61 74 65 2e 20 20 49 66 20 74 68 65 20 |o-date. If the | 00004bc0 70 6f 69 6e 74 65 72 20 69 73 20 6e 6f 74 20 75 |pointer is not u| 00004bd0 70 2d 74 6f 2d 64 61 74 65 20 69 74 20 0a 77 69 |p-to-date it .wi| 00004be0 6c 6c 20 63 68 61 6e 67 65 20 74 6f 20 74 68 65 |ll change to the| 00004bf0 20 70 6f 69 6e 74 65 72 20 73 70 65 63 69 66 69 | pointer specifi| 00004c00 65 64 20 69 6e 20 74 68 65 20 69 63 6f 6e 73 20 |ed in the icons | 00004c10 76 61 6c 69 64 61 74 69 6f 6e 20 73 74 72 69 6e |validation strin| 00004c20 67 2e 20 20 49 66 20 74 68 65 20 70 6f 69 6e 74 |g. If the point| 00004c30 65 72 20 69 73 20 0a 6e 6f 74 20 6f 76 65 72 20 |er is .not over | 00004c40 61 6e 20 69 63 6f 6e 20 74 68 65 6e 20 20 74 68 |an icon then th| 00004c50 65 20 70 6f 69 6e 74 65 72 20 77 69 6c 6c 20 63 |e pointer will c| 00004c60 68 61 6e 67 65 20 61 63 63 6f 72 64 69 6e 67 20 |hange according | 00004c70 74 6f 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 |to the position | 00004c80 6f 6e 20 74 68 65 20 0a 77 69 6e 64 6f 77 20 62 |on the .window b| 00004c90 61 63 6b 67 72 6f 75 6e 64 2e 0a 0a 4e 6f 74 65 |ackground...Note| 00004ca0 20 74 68 61 74 20 77 69 6d 70 5f 70 6f 6c 6c 20 | that wimp_poll | 00004cb0 72 65 61 73 6f 6e 20 63 6f 64 65 73 20 30 20 61 |reason codes 0 a| 00004cc0 6e 64 20 34 20 73 68 6f 75 6c 64 20 6e 6f 74 20 |nd 4 should not | 00004cd0 62 65 20 6d 61 73 6b 65 64 20 6f 75 74 2c 20 6f |be masked out, o| 00004ce0 74 68 65 72 77 69 73 65 20 74 68 65 20 0a 70 6f |therwise the .po| 00004cf0 69 6e 74 65 72 20 77 69 6c 6c 20 62 65 20 6f 75 |inter will be ou| 00004d00 74 2d 6f 66 2d 64 61 74 65 20 61 6e 64 20 77 69 |t-of-date and wi| 00004d10 6c 6c 20 6e 6f 74 20 66 75 6e 63 74 69 6f 6e 20 |ll not function | 00004d20 63 6f 72 72 65 63 74 6c 79 2e 0a 0a 57 69 6d 70 |correctly...Wimp| 00004d30 5f 53 65 74 57 6f 72 6b 61 72 65 61 50 6f 69 6e |_SetWorkareaPoin| 00004d40 74 65 72 20 28 53 57 49 20 26 38 31 36 38 34 29 |ter (SWI &81684)| 00004d50 0a 57 69 6d 70 5f 52 65 6d 6f 76 65 57 6f 72 6b |.Wimp_RemoveWork| 00004d60 61 72 65 61 50 6f 69 6e 74 65 72 20 28 53 57 49 |areaPointer (SWI| 00004d70 20 26 38 31 36 38 35 29 0a 0a 4e 6f 6e 65 0a 0a | &81685)..None..| 00004d80 0a 0a 0a 0a 57 69 6d 70 5f 53 65 6e 64 49 6e 66 |....Wimp_SendInf| 00004d90 6f 72 6d 61 74 69 6f 6e 20 28 49 6e 74 65 72 66 |ormation (Interf| 00004da0 61 63 65 5f 53 65 6e 64 48 65 6c 70 29 20 28 53 |ace_SendHelp) (S| 00004db0 57 49 20 26 38 31 36 38 37 29 0a 0a 52 31 20 3d |WI &81687)..R1 =| 00004dc0 20 6d 65 73 73 61 67 65 20 62 6c 6f 63 6b 20 61 | message block a| 00004dd0 73 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 |s returned from | 00004de0 68 65 6c 70 20 61 70 70 6c 69 63 61 74 69 6f 6e |help application| 00004df0 0a 52 31 20 70 72 65 73 65 72 76 65 64 0a 0a 49 |.R1 preserved..I| 00004e00 6e 74 65 72 72 75 70 74 20 73 74 61 74 75 73 20 |nterrupt status | 00004e10 69 73 20 75 6e 64 65 66 69 6e 65 64 0a 46 61 73 |is undefined.Fas| 00004e20 74 20 69 6e 74 65 72 72 75 70 74 73 20 61 72 65 |t interrupts are| 00004e30 20 65 6e 61 62 6c 65 64 0a 0a 50 72 6f 63 65 73 | enabled..Proces| 00004e40 73 6f 72 20 69 73 20 69 6e 20 53 56 43 20 6d 6f |sor is in SVC mo| 00004e50 64 65 0a 0a 53 57 49 20 6e 6f 74 20 72 65 2d 65 |de..SWI not re-e| 00004e60 6e 74 72 61 6e 74 0a 0a 54 68 69 73 20 63 61 6c |ntrant..This cal| 00004e70 6c 20 72 65 74 75 72 6e 73 20 61 20 68 65 6c 70 |l returns a help| 00004e80 20 74 65 78 74 20 6d 65 73 73 61 67 65 20 74 6f | text message to| 00004e90 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 | the interactive| 00004ea0 20 68 65 6c 70 20 61 70 70 6c 69 63 61 74 69 6f | help applicatio| 00004eb0 6e 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 62 65 |n. It should be| 00004ec0 20 0a 63 61 6c 6c 65 64 20 77 68 65 6e 20 61 20 | .called when a | 00004ed0 6d 65 73 73 61 67 65 20 77 69 74 68 20 74 68 65 |message with the| 00004ee0 20 6e 75 6d 62 65 72 20 26 35 30 32 20 69 73 20 | number &502 is | 00004ef0 72 65 63 65 69 76 65 64 20 61 6e 64 20 74 68 65 |received and the| 00004f00 20 70 6f 69 6e 74 65 72 20 69 73 20 6f 76 65 72 | pointer is over| 00004f10 20 61 6e 20 0a 69 63 6f 6e 2e 20 20 49 66 20 74 | an .icon. If t| 00004f20 68 65 72 65 20 69 73 20 61 20 6d 65 73 73 61 67 |here is a messag| 00004f30 65 20 69 6e 20 74 68 65 20 69 63 6f 6e 73 20 76 |e in the icons v| 00004f40 61 6c 69 64 61 74 69 6f 6e 20 73 74 72 69 6e 67 |alidation string| 00004f50 20 74 68 61 74 20 74 68 65 20 70 6f 69 6e 74 65 | that the pointe| 00004f60 72 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 0a |r is currently .| 00004f70 6f 76 65 72 20 74 68 65 6e 20 74 68 69 73 20 77 |over then this w| 00004f80 69 6c 6c 20 62 65 20 73 65 6e 74 20 74 6f 20 74 |ill be sent to t| 00004f90 68 65 20 68 65 6c 70 20 61 70 70 6c 69 63 61 74 |he help applicat| 00004fa0 69 6f 6e 2e 20 20 49 74 20 69 73 20 75 70 20 74 |ion. It is up t| 00004fb0 6f 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f |o the applicatio| 00004fc0 6e 73 20 0a 70 72 6f 67 72 61 6d 6d 65 72 20 74 |ns .programmer t| 00004fd0 6f 20 74 61 6b 65 20 63 61 72 65 20 6f 66 20 74 |o take care of t| 00004fe0 68 65 20 68 65 6c 70 20 6d 65 73 73 61 67 65 20 |he help message | 00004ff0 77 68 65 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 |when the pointer| 00005000 20 69 73 20 6f 76 65 72 20 74 68 65 20 69 63 6f | is over the ico| 00005010 6e 20 6f 6e 20 74 68 65 20 0a 69 63 6f 6e 20 62 |n on the .icon b| 00005020 61 72 20 6f 72 20 69 73 20 6f 76 65 72 20 74 68 |ar or is over th| 00005030 65 20 77 69 6e 64 6f 77 20 77 6f 72 6b 61 72 65 |e window workare| 00005040 61 2e 20 0a 0a 4e 6f 6e 65 0a 0a 4e 6f 6e 65 0a |a. ..None..None.| 00005050 0a 0a 57 69 6d 70 5f 50 72 65 50 72 6f 63 65 73 |..Wimp_PreProces| 00005060 73 4b 65 79 20 28 49 6e 74 65 72 66 61 63 65 5f |sKey (Interface_| 00005070 50 72 65 50 72 6f 63 65 73 73 4b 65 79 29 20 28 |PreProcessKey) (| 00005080 53 57 49 20 26 38 31 36 38 38 29 0a 0a 52 30 20 |SWI &81688)..R0 | 00005090 3d 20 65 76 65 6e 74 20 74 79 70 65 0a 52 31 20 |= event type.R1 | 000050a0 3d 20 65 76 65 6e 74 20 62 6c 6f 63 6b 0a 52 32 |= event block.R2| 000050b0 20 3d 20 74 61 73 6b 20 68 61 6e 64 6c 65 0a 0a | = task handle..| 000050c0 52 30 20 3d 20 75 70 64 61 74 65 64 20 74 6f 20 |R0 = updated to | 000050d0 6e 65 77 20 65 76 65 6e 74 20 74 79 70 65 0a 52 |new event type.R| 000050e0 31 20 3d 20 75 70 64 61 74 65 64 20 65 76 65 6e |1 = updated even| 000050f0 74 20 62 6c 6f 63 6b 0a 52 32 20 3d 20 30 20 69 |t block.R2 = 0 i| 00005100 66 20 65 76 65 6e 74 20 77 61 73 20 6e 6f 74 20 |f event was not | 00005110 64 65 61 6c 74 20 69 6e 74 65 72 63 65 70 74 65 |dealt intercepte| 00005120 64 0a 0a 54 68 69 73 20 63 61 6c 6c 20 70 72 65 |d..This call pre| 00005130 2d 70 72 6f 63 65 73 73 65 73 20 74 68 65 20 75 |-processes the u| 00005140 70 2c 20 64 6f 77 6e 2c 20 74 61 62 2c 20 73 68 |p, down, tab, sh| 00005150 69 66 74 2d 74 61 62 20 6b 65 79 73 20 61 6e 64 |ift-tab keys and| 00005160 20 61 6e 79 20 73 70 65 63 69 66 69 65 64 20 69 | any specified i| 00005170 6e 20 61 20 73 70 65 63 69 66 69 63 20 69 63 6f |n a specific ico| 00005180 6e 73 0a 76 61 6c 69 64 61 74 69 6f 6e 20 73 74 |ns.validation st| 00005190 72 69 6e 67 20 75 73 69 6e 67 20 74 68 65 20 63 |ring using the c| 000051a0 6f 6d 6d 61 6e 64 20 6b 3c 6b 65 79 63 6f 64 65 |ommand k<keycode| 000051b0 3e 2e 20 20 54 68 65 20 53 57 49 20 77 69 6c 6c |>. The SWI will| 000051c0 20 6d 6f 76 65 20 69 63 6f 6e 2c 20 69 66 20 6e | move icon, if n| 000051d0 65 63 63 65 73 73 61 72 79 20 6f 72 20 61 63 74 |eccessary or act| 000051e0 69 76 61 74 65 0a 61 20 62 75 74 74 6f 6e 2e 20 |ivate.a button. | 000051f0 20 54 68 69 73 20 63 61 6c 6c 20 73 6f 75 6c 64 | This call sould| 00005200 20 62 65 20 63 61 6c 6c 65 64 20 61 66 74 65 72 | be called after| 00005210 20 74 68 65 20 77 69 6d 70 5f 70 6f 6c 6c 20 63 | the wimp_poll c| 00005220 6f 6d 6d 61 6e 64 2c 20 69 74 20 77 69 6c 6c 20 |ommand, it will | 00005230 6d 61 74 63 68 20 74 68 65 20 6b 65 79 20 74 6f |match the key to| 00005240 20 61 6e 20 69 63 6f 6e 0a 61 6e 64 20 69 66 20 | an icon.and if | 00005250 6e 65 63 63 65 73 73 61 72 79 20 6d 6f 64 69 66 |neccessary modif| 00005260 79 20 79 6f 75 72 20 77 69 6d 70 20 70 6f 6c 6c |y your wimp poll| 00005270 20 62 6c 6f 63 6b 20 61 6e 64 20 65 76 65 6e 74 | block and event| 00005280 20 74 79 70 65 2e 0a 0a 0a 57 69 6d 70 5f 42 6f | type....Wimp_Bo| 00005290 72 64 65 72 50 6c 6f 74 49 63 6f 6e 20 28 49 6e |rderPlotIcon (In| 000052a0 74 65 72 66 61 63 65 5f 50 6c 6f 74 33 64 49 63 |terface_Plot3dIc| 000052b0 6f 6e 29 20 28 53 57 49 20 26 38 31 36 38 39 29 |on) (SWI &81689)| 000052c0 0a 0a 52 30 20 3d 20 77 69 6e 64 6f 77 20 73 74 |..R0 = window st| 000052d0 61 74 65 20 28 65 69 74 68 65 72 20 66 72 6f 6d |ate (either from| 000052e0 20 77 69 6d 70 5f 75 70 64 61 74 65 2f 72 65 64 | wimp_update/red| 000052f0 72 61 77 20 6f 72 20 66 72 6f 6d 20 61 20 77 69 |raw or from a wi| 00005300 6d 70 5f 67 65 74 77 69 6e 64 6f 77 73 74 61 74 |mp_getwindowstat| 00005310 65 29 0a 52 31 20 3d 20 69 63 6f 6e 20 62 6c 6f |e).R1 = icon blo| 00005320 63 6b 20 61 73 20 66 6f 72 20 57 69 6d 70 5f 50 |ck as for Wimp_P| 00005330 6c 6f 74 49 63 6f 6e 0a 0a 54 68 69 73 20 63 61 |lotIcon..This ca| 00005340 6c 6c 20 70 6c 6f 74 73 20 61 20 62 6f 72 64 65 |ll plots a borde| 00005350 72 20 6f 6e 20 61 20 77 69 6e 64 6f 77 20 6c 69 |r on a window li| 00005360 6b 65 20 57 69 6d 70 5f 50 6c 6f 74 49 63 6f 6e |ke Wimp_PlotIcon| 00005370 2e 20 20 54 68 65 20 69 63 6f 6e 20 62 6c 6f 63 |. The icon bloc| 00005380 6b 20 70 61 73 73 65 64 20 69 6e 20 52 31 0a 73 |k passed in R1.s| 00005390 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 61 20 |hould contain a | 000053a0 62 6c 6f 63 6b 20 61 73 20 64 65 73 63 72 69 62 |block as describ| 000053b0 65 64 20 66 6f 72 20 57 69 6d 70 5f 50 6c 6f 74 |ed for Wimp_Plot| 000053c0 49 63 6f 6e 20 69 6e 20 74 68 65 20 50 52 4d 73 |Icon in the PRMs| 000053d0 2e 0a 0a 57 69 6d 70 5f 42 6f 72 64 65 72 42 6f |...Wimp_BorderBo| 000053e0 75 6e 64 69 6e 67 42 6f 78 20 28 49 6e 74 65 72 |undingBox (Inter| 000053f0 66 61 63 65 5f 42 6f 75 6e 64 69 6e 67 42 6f 78 |face_BoundingBox| 00005400 29 20 28 53 57 49 20 26 38 31 36 38 41 29 0a 0a |) (SWI &8168A)..| 00005410 52 31 20 3d 20 69 63 6f 6e 20 62 6c 6f 63 6b 20 |R1 = icon block | 00005420 61 73 20 66 6f 72 20 57 69 6d 70 5f 50 6c 6f 74 |as for Wimp_Plot| 00005430 49 63 6f 6e 0a 0a 52 31 20 3d 20 75 70 64 61 74 |Icon..R1 = updat| 00005440 65 73 20 69 63 6f 6e 20 62 6c 6f 63 6b 0a 20 20 |es icon block. | 00005450 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 | . | 00005460 20 20 20 6f 66 66 73 65 74 0a 20 20 20 20 20 20 | offset. | 00005470 20 20 20 20 30 20 20 20 20 20 20 20 20 20 6d 69 | 0 mi| 00005480 6e 20 78 0a 20 20 20 20 20 20 20 20 20 20 34 20 |n x. 4 | 00005490 20 20 20 20 20 20 20 20 6d 69 6e 20 79 0a 20 20 | min y. | 000054a0 20 20 20 20 20 20 20 20 38 20 20 20 20 20 20 20 | 8 | 000054b0 20 20 6d 61 78 20 78 0a 20 20 20 20 20 20 20 20 | max x. | 000054c0 20 20 31 32 20 20 20 20 20 20 20 20 6d 61 78 20 | 12 max | 000054d0 79 0a 20 20 20 20 20 20 20 20 20 20 31 36 20 20 |y. 16 | 000054e0 20 20 20 20 20 20 62 6f 72 64 65 72 20 77 69 64 | border wid| 000054f0 74 68 0a 20 20 20 20 20 20 20 20 20 20 32 30 20 |th. 20 | 00005500 20 20 20 20 20 20 20 62 75 74 74 6f 6e 20 73 6c | button sl| 00005510 61 62 20 73 74 61 74 65 20 28 31 20 3d 20 6f 75 |ab state (1 = ou| 00005520 74 2c 20 30 20 3d 20 69 6e 29 0a 0a 54 68 69 73 |t, 0 = in)..This| 00005530 20 63 61 6c 6c 20 72 65 74 75 72 6e 73 20 69 6e | call returns in| 00005540 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 |formation about | 00005550 74 68 65 20 69 63 6f 6e 20 62 6c 6f 63 6b 20 70 |the icon block p| 00005560 61 73 73 65 64 20 74 6f 20 69 74 2e 20 20 49 66 |assed to it. If| 00005570 20 79 6f 75 20 77 69 73 68 20 74 6f 0a 67 65 74 | you wish to.get| 00005580 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 20 | the size of an | 00005590 69 63 6f 6e 73 20 62 6f 78 20 75 73 65 20 57 69 |icons box use Wi| 000055a0 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 20 |mp_GetIconState | 000055b0 61 6e 64 20 74 68 65 6e 20 70 61 73 73 20 74 68 |and then pass th| 000055c0 65 20 69 63 6f 6e 20 62 6c 6f 63 6b 20 0a 72 65 |e icon block .re| 000055d0 74 75 72 6e 65 64 20 74 6f 20 74 68 69 73 20 66 |turned to this f| 000055e0 75 6e 63 74 69 6f 6e 2e 0a 0a 0a 0a 43 68 61 6e |unction.....Chan| 000055f0 67 65 73 20 66 72 6f 6d 20 76 65 72 73 69 6f 6e |ges from version| 00005600 20 31 2e 33 32 0a 0a 74 68 69 73 20 76 65 72 73 | 1.32..this vers| 00005610 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 66 75 6c |ion has been ful| 00005620 6c 79 20 72 65 2d 77 72 69 74 74 65 6e 20 75 73 |ly re-written us| 00005630 69 6e 67 20 74 68 65 20 61 63 6f 72 6e 20 61 6f |ing the acorn ao| 00005640 66 20 61 73 73 65 6d 62 6c 65 72 2e 0a 62 6f 72 |f assembler..bor| 00005650 64 65 72 20 74 79 70 65 20 68 61 73 20 63 68 61 |der type has cha| 00005660 6e 67 65 64 20 74 6f 20 7a 20 74 6f 20 61 76 6f |nged to z to avo| 00005670 69 64 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 |id conflicts wit| 00005680 68 20 72 69 73 63 2d 6f 73 20 33 0a 49 6e 74 65 |h risc-os 3.Inte| 00005690 72 66 61 63 65 5f 50 6c 6f 74 33 64 49 63 6f 6e |rface_Plot3dIcon| 000056a0 20 68 61 73 20 62 65 65 6e 20 63 68 61 6e 67 65 | has been change| 000056b0 64 20 73 6f 20 74 68 65 20 66 69 72 73 74 20 70 |d so the first p| 000056c0 61 72 61 6d 65 74 65 72 20 69 73 20 61 20 77 69 |arameter is a wi| 000056d0 6e 64 6f 77 20 73 74 61 74 65 20 62 6c 6f 63 6b |ndow state block| 000056e0 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 77 69 | instead of a wi| 000056f0 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 6e 61 6d 65 |ndow handle.name| 00005700 73 20 68 61 73 20 63 68 61 6e 67 65 64 20 74 6f |s has changed to| 00005710 20 69 6e 74 65 72 66 61 63 65 5f 2e 2e 2e 2e 2c | interface_....,| 00005720 20 6f 6c 64 20 6e 61 6d 65 73 20 61 72 65 20 73 | old names are s| 00005730 74 69 6c 6c 20 73 75 70 70 6f 72 74 65 64 0a 62 |till supported.b| 00005740 65 74 74 65 72 20 72 65 64 72 61 77 20 63 6f 64 |etter redraw cod| 00005750 65 20 74 6f 20 63 6f 72 72 65 63 74 20 70 72 6f |e to correct pro| 00005760 62 6c 65 6d 73 20 77 69 74 68 20 6d 75 6c 74 69 |blems with multi| 00005770 2d 73 79 6e 63 20 6d 6f 64 65 73 20 77 68 65 72 |-sync modes wher| 00005780 65 20 74 68 65 20 69 63 6f 6e 73 20 77 65 72 65 |e the icons were| 00005790 20 6e 6f 74 20 61 6c 6c 69 67 6e 65 64 20 63 6f | not alligned co| 000057a0 72 72 65 63 74 6c 79 2e 0a 49 6e 74 65 72 66 61 |rrectly..Interfa| 000057b0 63 65 5f 42 6f 75 6e 64 69 6e 67 42 6f 78 20 6e |ce_BoundingBox n| 000057c0 6f 77 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 |ow returns the s| 000057d0 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 |tate of the butt| 000057e0 6f 6e 20 0a 6e 65 77 20 62 6f 72 64 65 72 20 74 |on .new border t| 000057f0 79 70 65 73 0a 0a 2a 63 6f 6d 6d 61 6e 64 20 74 |ypes..*command t| 00005800 6f 20 61 6c 6c 6f 77 20 63 68 61 6e 67 65 73 20 |o allow changes | 00005810 69 6e 20 74 68 65 20 73 6c 61 62 62 69 6e 67 20 |in the slabbing | 00005820 63 6f 6c 6f 75 72 73 2e |colours.| 00005828