Home » Archimedes archive » Acorn User » AU 1994-08.adf » !WimpTools_WimpTools » !WimpTools/!Help

!WimpTools/!Help

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 1994-08.adf » !WimpTools_WimpTools
Filename: !WimpTools/!Help
Read OK:
File size: 7BA3 bytes
Load address: 0000
Exec address: 0000
File contents
****************************************************************************

                           WIMP LIBRARY VERSION 1.43

                      BY MATT LEWIS � WEIRD SHEEP SOFTWARE

****************************************************************************


INTRODUCTION
============

This module has been written to aid programmers who write applications in
basic and arm code.  The SWI's aid the creation of menus and alteration of
icon characteristics, and so allow the wimp manager to handle a lot of the
processing such as returning an icon's text or setting the state of an icon.
In some cases the routine just allows a cleaner call.


----------------------------------------------------------------------------


SWI ROUTINES
============

The following is a list of the SWI routines and the parameters to be passed
and returned by the routine.

  47C80 WSWimpTools_Version
  47C81 WSWimpTools_TaskIcon
  47C82 WSWimpTools_PopOpenWindow
  47C83 WSWimpTools_OpenPaneWindow
  47C84 WSWimpTools_PopOpenPaneWindow
  47C85 WSWimpTools_CloseWindow
  47C86 WSWimpTools_ToggleIcon
  47C87 WSWimpTools_SetIconSelect
  47C88 WSWimpTools_GetIconSelectState
  47C89 WSWimpTools_SetIconEnable
  47C8A WSWimpTools_GetIconEnableState
  47C8B WSWimpTools_SetIconText
  47C8C WSWimpTools_GetIconText
  47C8D WSWimpTools_SetIconValidation
  47C8E WSWimpTools_GetIconValidation
  47C8F WSWimpTools_SetWindowTitle
  47C90 WSWimpTools_GetWindowTitle
  47C91 WSWimpTools_UpdateWindow
  47C92 WSWimpTools_MakeMenuHeader
  47C93 WSWimpTools_MakeMenuItem
  47C94 WSWimpTools_SetMenuItemText
  47C95 WSWimpTools_GetMenuItemText
  47C96 WSWimpTools_MakeMenuItemLast
  47C97 WSWimpTools_SetMenuItemTick
  47C98 WSWimpTools_GetMenuItemTick
  47C99 WSWimpTools_SetMenuItemMessage
  47C9A WSWimpTools_GetMenuItemMessage
  47C9B WSWimpTools_SetMenuItemEnable
  47C9C WSWimpTools_GetMenuItemEnable
  47C9D WSWimpTools_SetMenuItemOptions
  47C9E WSWimpTools_GetMenuItemOptions
  47C9F WSWimpTools_AttachSubMenu

  47CA1 WSWimpTools_IconBarMenu
  47CA2 WSWimpTools_MenuAdjust
  47CA3 WSWimpTools_MakeMenu
  47CA4 WSWimpTools_GetText
  47CA5 WSWimpTools_StartDrag
  47CA6 WSWimpTools_SendSave
  47CA7 WSWimpTools_SendLoad
  47CA8 WSWimpTools_SendSaveAck
  47CA9 WSWimpTools_SendLoadAck
  47CAA WSWimpTools_LoadTemplates
  47CAB WSWimpTools_WindowConvertParameter 
  47CAC WSWimpTools_LoseTemplateFonts
  47CAD WSWimpTools_Register
  47CAE WSWimpTools_DeRegister
  47CAF WSWimpTools_LoadSprites
  47CB0 WSWimpTools_GetLeaf
 
----------------------------------------------------------------------------

DETAILED DESCRIPTION OF SWIS
============================

The following is a detailed description of the SWIs :-


WSWimpTools_Version
-------------------

This call returns the version of the Wimp Library installed so that the
program can check the the one it requires is installed.

       Parameters passed :

                  R0 =  0  - Return Wimp Library version number in R0
                     = -1  - Print string of version number 

       Parameters returned :


                  R0       - Version number

----------------------------------------------------------------------------


WSWimpTools_TaskIcon
--------------------

This call displays an icon on the icon bar.  Its position is determined by
r0.  The type of icon is in r1 and the sprite name is given in a block at r2.
If the icon is indirected then this block is used otherwise the name is
copied to the icon block.

       Parameters passed :

                  R0    -  Position of icon
                           
                           -1 is right side of icon bar
                           -2 is left side of icon bar

                  R1    -  Icon type

                            0 is an ordinary sprite
                            1 is an indirected sprite
                            2 is an indirected text sprite

                  R2    -  Icon string or data address if indirected

       Parameters returned :


                  R0    -  Icon number                  

----------------------------------------------------------------------------

WSWimpTools_PopOpenWindow
-------------------------

This call opens the specified window on the top of all other windows using
its the last and position and size.  If not opened previously it uses the
definition it is created with.

       Parameters passed :

                  R0    -  Window handle to be opened

                  If R1 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None

----------------------------------------------------------------------------

WSWimpTools_OpenPaneWindow
--------------------------

This call opens the specified window with the pane window being displayed
using the coordinates of the icon in r2.  The handle of the pane window is
passed in r3.

       Parameters passed :

                  R1    -  Block returned by Wimp_Poll open window
                  R2    -  Icon to use as position of pane
                  R3    -  Handle of pane window

                  If R4 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R3    -  Window name or number

       Parameters returned :

                  None

----------------------------------------------------------------------------

WSWimpTools_PopOpenPaneWindow
-----------------------------

This call opens the specified window ,the handle of which is passed in r0,
with the pane window being displayed using the coordinates of the icon in
r2.  The handle of the pane window is passed in r3.


       Parameters passed :

                  R0    -  Window handle to be opened
                  R2    -  Icon to use as position of pane
                  R3    -  Handle of pane window

                  If R4 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0,R3 -  Window name or number

       Parameters returned :

                  None

----------------------------------------------------------------------------
                     
WSWimpTools_CloseWindow
-----------------------

This call closes the specified window.

       Parameters passed :

                  R0    -  Window handle to be closed

                  If R1 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None

----------------------------------------------------------------------------
       
WSWimpTools_ToggleIcon
----------------------

This call toggles the select state of the specified icon.  I.e. if it was
selected then it is deselected if it was not selected then it is selected.
The call returns the state of the icon after toggling.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  R0    -  State of icon after toggling

                           -1 if selected
                            0 if not selected

----------------------------------------------------------------------------
       
WSWimpTools_SetIconSelect
-------------------------

This call selects the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number
                  R2    -  -1 to select
                            0 to deselect

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None


----------------------------------------------------------------------------
       
WSWimpTools_GetIconSelectState
------------------------------

This call returns the select state of the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  R0    -  -1 if selected
                            0 if not selected


----------------------------------------------------------------------------
       
WSWimpTools_SetIconEnable
-------------------------

This call enables the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number
                  R2    -  -1 to select
                            0 to deselect

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None

----------------------------------------------------------------------------
       
WSWimpTools_GetIconEnableState
------------------------------

This call returns the enable state of the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  R0    -  -1 if enabled
                            0 if disabled
----------------------------------------------------------------------------
       
WSWimpTools_SetIconText
-----------------------

This call sets the text string for the the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number
                  R2    -  Text string

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None

       Errors :

                  Text must be indirected and error occurs if it isn't.                                      
----------------------------------------------------------------------------
       
WSWimpTools_GetIconText
-----------------------

This call returns the text string of the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  R0    -  Text string   

       Errors :

                  Text must be indirected and error occurs if it isn't.                                      
----------------------------------------------------------------------------
       
WSWimpTools_SetIconValidation
-----------------------------

This call sets the validation string for the the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number
                  R2    -  Validation string

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None

       Errors :

                  Text must be indirected and error occurs if it isn't.                                      
----------------------------------------------------------------------------
       
WSWimpTools_GetIconValidation
-----------------------------

This call returns the validation string of the specified icon.

       Parameters passed :

                  R0    -  Window handle of icon
                  R1    -  Icon number

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  R0    -  Validation string   

       Errors :

                  Text must be indirected and error occurs if it isn't.      

----------------------------------------------------------------------------
       
WSWimpTools_SetWindowTitle
--------------------------

This call sets the text string for the the specified window.

       Parameters passed :

                  R0    -  Window handle
                  R1    -  Text string

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None

       Errors :

                  Text must be indirected and error occurs if it isn't.      

----------------------------------------------------------------------------
       
WSWimpTools_GetWindowTitle
--------------------------

This call gets the text string for the the specified window.

       Parameters passed :

                  R0    -  Window handle

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  R1    -  Window title

----------------------------------------------------------------------------

WSWimpTools_UpdateWindow
------------------------

This call opens updates the specified window replying with Wimp_RedrawWindow as necessary.  The call updates all of the window including scroll & title bars and so should be used after WSWimpTools_SetWindowTitle.

       Parameters passed :

                  R0    -  Window handle to be opened

                  If R1 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  None
----------------------------------------------------------------------------
       
WSWimpTools_MakeMenuHeader
--------------------------

This call creates the header part of a menu in the standard RiscOs colour
scheme and sizes with the title given by R1 in the block pointed to by R0
of the width R2.  The position of the first menu item is return in R0 and
this can be passed direct to WSWimpTools_MakeMenuTextItem.

       Parameters passed :

                  R0    -  Block to store menu
                  R1    -  Text string for menu title (max 11 chars)
                  R2    -  Width of menu in OS units

       Parameters returned :

                  R0    -  Pointer to position in menu block of where first
                           menu item should be created. 

----------------------------------------------------------------------------
       
WSWimpTools_MakeMenuItem
------------------------

This call creates a menu item.  The items marked with a * are optional and if
set to zero they are ignored.


       Parameters passed :

                  R0    -  Block to store menu data
                  R1    -  Text string for menu item.  (If R3 is zero then
                           string is truncated to 11 characters)
              *   R2    -  Menu item options
              *   R3    -  String storage
              *   R4    -  Size of storage space if writeable.  (If not zero
                           SWI creates a writeable menu item)

       Parameters returned :

                  R0    -  Pointer to position in menu block to where the
                           next menu item should be created. (for subsequent
                           calls of this call and the following one)

                  R3    -  Pointer to next position in string block

----------------------------------------------------------------------------
       
WSWimpTools_SetMenuItemText
---------------------------

This call sets the text of menu item number R1 from the menu block
pointed to by R0.  The string is truncated if longer than the indirected
space allocated in the menu definition.


       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)
                  R2    -  Text string

An error is returned if the string is not indirected

----------------------------------------------------------------------------
       
WSWimpTools_GetMenuItemText
---------------------------

This call returns the text of menu item number R1 from the menu block
pointed to by R0.


       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)

----------------------------------------------------------------------------
       
WSWimpTools_MakeMenuItemLast
----------------------------

This call makes the menu item the last menu item in the menu, or clears it
from being the last menu item depending upon R2


       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)
                  R2    -  -1   make menu item the last item
                            0   clear it from being last item

----------------------------------------------------------------------------
       
WSWimpTools_SetMenuItemTick
---------------------------

This call places or removes a tick from the menu item depending upon the
value of R2

       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)
                  R2    -  -1   add a tick
                            0   clear any tick

----------------------------------------------------------------------------
       
WSWimpTools_GetMenuItemTick
---------------------------

This call returns a value in R0 the value of which depends upon whether the menu item is ticked.

       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)

       Parameters returned :

                  R0    -  -1 item ticked
                            0 item not ticked

----------------------------------------------------------------------------
       
WSWimpTools_SetMenuItemEnable
-----------------------------

This call enables or disables the menu item depending upon the value of R2

       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)
                  R2    -  -1   Enable menu item
                            0   Disable menu item

----------------------------------------------------------------------------
       
WSWimpTools_GetMenuItemEnable
-----------------------------

This call returns a value in R0 the value of which depends upon whether the menu item is enabled.

       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)

       Parameters returned :

                  R0    -  -1 item enabled
                            0 item disabled

----------------------------------------------------------------------------
       
WSWimpTools_AttachSubMenu
-------------------------

This call attaches a submenu or window to the menu item.  If R2 is -1 then
any existing submenu or window will be removed.

       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)
                  R2    -  Menu block or Window handle

                  If R3 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R2    -  Window name or number

----------------------------------------------------------------------------
       
WSWimpTools_SetMenuItemOptions
------------------------------

This call sets the options for the menu item. (See Risc OS reference manual)

       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)
                  R2    -  Options

                  bit   -  0  tick item
                           1  follow with dotted line
                           2  writeable item
                           3  generate message for submenu

----------------------------------------------------------------------------
       
WSWimpTools_GetMenuItemOptions
------------------------------

This call reads the options for the menu item. 

       Parameters passed :

                  R0    -  Block of menu data
                  R1    -  Menu item number (counting from 0)
                  R2    -  Options

                  bit   -  0  tick item
                           1  follow with dotted line
                           2  writeable item
                           3  generate message for submenu


----------------------------------------------------------------------------
       
WSWimpTools_IconBarMenu
-----------------------

This call displays the supplied menu at the icon bar at the standard height, taking account of menu item dividers ( dashed lines ).

       Parameters passed :

                  R0    -  Menu block

       Parameters returned :

                  None

----------------------------------------------------------------------------
       
WSWimpTools_MenuAdjust
----------------------

This call checks the adjust button and redisplays the supplied menu.

       Parameters passed :

                  R0    -  Menu block

       Parameters returned :

                  None

----------------------------------------------------------------------------
       
WSWimpTools_MakeMenu
--------------------

This call generates a menu block from the string given in r2.

       Parameters passed :

                  R0    -  Menu block
                  R1    -  Indirected string storage
                  R2    -  Menu String

       Parameters returned :

                  R0    -  Next position after the menu in the menu block
                  R1    -  Next position in the string storage block

       Menu string format :

                  "Item1,Item2,Item3....ItemN"

       If Item1 is proceeded with a # symbol then it will be used as the
       title.  An error will be produced if it is too long!

       There are special characters which affect the menu item and these
       are as follows

                  �     -  Item is ticked !
                  �     -  Item is disabled (dimmed)
                  ?     -  Item is writeable
                  >     -  Generate Message_SubMenu when sub menu chosen
                  -     -  Item is followed by a dashed line

----------------------------------------------------------------------------
       
WSWimpTools_GetText
-------------------

This call returns the string pointed to by R0 providing it ends in a
character which has an ASCII value of less than 32.

       Parameters passed :

                  R0    -  Address of string

       Parameters returned :

                  R0    -  String

----------------------------------------------------------------------------
       
WSWimpTools_StartDrag
--------------------- 

This call starts a drag box from the window in R0, using icon R1 as the
outline.  If the DragASprite module is available and R2 contains the address
of a sprite block containing the icon then the module will be used. R0
returns TRUE of the module was used and FALSE if not.  If TRUE then
DragASprite_Stop must be called when Wimp_Poll dragged finished has been
received by the program (poll code 7)

       Parameters passed :

                  R0    -  Window handle
                  R1    -  Icon handle
                  R2    -  Sprite block (Usually 1 to use sprite pool)

                  If R4 = window handle block created by
                  WSWimpTools_LoadTemplate then

                  R0    -  Window name or number

       Parameters returned :

                  R0    -  Drag type ( TRUE - used DragASprite )
                                     ( FALSE- used Wimp_DragBox )

This SWI will handle text+sprites icons but the spritename must be the last
item in the validation string

----------------------------------------------------------------------------

WSWimpTools_SendSave
--------------------

This call sets up a message block and sends "Wimp Message_DataSave"
(poll block!16=1) to the application which owns the window the pointer is
over.  To be called after poll code 7 - drag finished.


       Parameters passed :

                  R1    -  Message block
                  R2    -  Filetype
                  R3    -  Filename string
                  R4    -  Approximate size of data

       Parameters returned :

                  R1    -  Message block

----------------------------------------------------------------------------

WSWimpTools_SendLoad
--------------------

This call sends "Wimp Message_DataLoad" to the application in the message 
block. The block should be the same as the one returned by Wimp_Poll
Message_DataSaveAck (poll block!16=2).

       Parameters passed :

                  R0    -  Filename
                  R1    -  Message block

       Parameters returned :

                  R1    -  Message block


----------------------------------------------------------------------------

WSWimpTools_SendSaveAck
-----------------------

This call sends "Wimp_Message Save Acknowledge (poll block!16=2)" as an acknowledgment of Message_DataSave (b%!16=1) to the application in the message
block.  It sets the file name at R1+44 to <Wimp$Scrap> and R1+36=-1 telling 
the application that the data is not safe and implementing a Wimp protocol
transfer.

       Parameters passed :

                  R1    -  Message block

       Parameters returned :

                  R1    -  Message block

----------------------------------------------------------------------------

WSWimpTools_SendLoadAck
-----------------------

This call sends "Wimp Message_DataLoadAck" to the application in the message block.  The block should be the same as the one returned by Wimp_Poll
Message_DataLoad (poll block!16=3).

       Parameters passed :

                  R1    -  Message block

       Parameters returned :

                  R1    -  Message block


----------------------------------------------------------------------------       
WSWimpTools_LoadTemplates
-------------------------

This call loads all the windows in a template file.

       Parameters passed :

                  R1    -  Window transfer block ( Must be long enough
                           for the window definition and data of the 
                           longest window in the file)

                  R2    -  Address of block to store indirected data
                  R3    -  End of the above block
                  R4    -  Address of block to store window handles and
                           template file window names

                  R5    -  Sprite block (=1 for wimp pool)
                  R6    -  256 byte block for the font array
                           (or 0 or -1 if no fonts)

       Parameters returned :

                  R0    -  Number of windows loaded

----------------------------------------------------------------------------

WSWimpTools_WindowConvertParameter
----------------------------------

This call converts one window parameter to another paramter.

       Parameters passed :

                  R0    -  Conversion type

                          0  - convert window handle to number
                          1  - convert window handle to name
                          2  - convert window number to handle
                          3  - convert window number to name
                          4  - convert window name to handle
                          5  - convert window name to number

                  R1    -  Window handle block (R4 from LoadTemplates)
                  R2    -  Parameter string or number depending upon R0

       Parameters returned :


                  R0    -  Result

----------------------------------------------------------------------------

WSWimpTools_LoseTemplateFonts
-----------------------------

This SWI should be called when the task is shutting down so that the font
manager can release the fonts allocated to the window templates.

       Parameters passed :

                  R1    -  Block for font array
                           (R6 in LoadTemplates above)

       Parameters returned :

                  None

----------------------------------------------------------------------------

WSWimpTools_Register
--------------------

This SWI should be called when the task is first run if the task is to use
the modules routines to allocate RMA space (such as in LoadSprites below).
The module will then set aside a data block describing memory allocated to
the task.  This SWI need not be called if RMA space is not being used.  The
module can handle a maximum of 31 tasks registered.

       Parameters passed :

                  None

       Parameters returned :

                  R0 - Task id (for use in WSWimpTools SWIs which allocate
                       RMA space to the task)

                  R1 - address of 32 byte block describing the RMA space
                       allocated (unique to this task)

NOTE - CURRENTLY THIS CALL IS ONLY NECESSARY IF WSWimpTools_LoadSprites IS
       GOING TO BE USED.  A LATER VERSION OF THE MODULE WILL ALLOW ALL DATA
       WHICH IS STORED IN BLOCKS IN THIS MODULE TO BE STORED IN THE RMA
       BY REPLACING THE BLOCK ADDRESS WITH THE TASK ID.

----------------------------------------------------------------------------

WSWimpTools_DeRegister
----------------------

This SWI should be called when the task is shutting down so that the module
can release any RMA space it has allocated to the task.  If this is not
called then the memory will be lost until the WimpTools module is RMKilled.
(When it will automatically release any used RMA space)

       Parameters passed :

                  R0    -  Task id (see above)

       Parameters returned :

                  None

WARNING - THIS CALL MUST BE CALLED WHEN THE TASK IS QUITTING (EITHER
          NORMALLY OR DUE TO AN ERROR) OTHERWISE RMA SPACE AND MODULE
          SPACE WILL BE LOST AND SO THE ERROR HANDLER SHOULD CALL IT IN THE
          CASE OF A FATAL ERROR.
----------------------------------------------------------------------------

WSWimpTools_LoadSprites
-----------------------

This SWI allocates some RMA space and sets up a sprite pool loading the file
given into the sprite pool.  The call is intended for loading the
applications window sprites as the block cannot be extended.  Also the module
cannot handle this call more than once per application.

       Parameters passed :

                  R0    -  Task id (see above)
                  R1    -  Filename for sprite file

       Parameters returned :

                  R1    -  Address of sprite block

----------------------------------------------------------------------------

WSWimpTools_GetLeaf
-----------------------

This SWI gets the leaf name of a filename.

       Parameters passed :

                  R0    -  Full filename

       Parameters returned :

                  R1    -  Leaf name


00000000  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000040  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 0a 0a 20 20  |************..  |
00000050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000060  20 20 20 20 20 20 20 20  20 57 49 4d 50 20 4c 49  |         WIMP LI|
00000070  42 52 41 52 59 20 56 45  52 53 49 4f 4e 20 31 2e  |BRARY VERSION 1.|
00000080  34 33 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |43..            |
00000090  20 20 20 20 20 20 20 20  20 20 42 59 20 4d 41 54  |          BY MAT|
000000a0  54 20 4c 45 57 49 53 20  a9 20 57 45 49 52 44 20  |T LEWIS . WEIRD |
000000b0  53 48 45 45 50 20 53 4f  46 54 57 41 52 45 0a 0a  |SHEEP SOFTWARE..|
000000c0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000100  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 0a 0a 0a 49  |************...I|
00000110  4e 54 52 4f 44 55 43 54  49 4f 4e 0a 3d 3d 3d 3d  |NTRODUCTION.====|
00000120  3d 3d 3d 3d 3d 3d 3d 3d  0a 0a 54 68 69 73 20 6d  |========..This m|
00000130  6f 64 75 6c 65 20 68 61  73 20 62 65 65 6e 20 77  |odule has been w|
00000140  72 69 74 74 65 6e 20 74  6f 20 61 69 64 20 70 72  |ritten to aid pr|
00000150  6f 67 72 61 6d 6d 65 72  73 20 77 68 6f 20 77 72  |ogrammers who wr|
00000160  69 74 65 20 61 70 70 6c  69 63 61 74 69 6f 6e 73  |ite applications|
00000170  20 69 6e 0a 62 61 73 69  63 20 61 6e 64 20 61 72  | in.basic and ar|
00000180  6d 20 63 6f 64 65 2e 20  20 54 68 65 20 53 57 49  |m code.  The SWI|
00000190  27 73 20 61 69 64 20 74  68 65 20 63 72 65 61 74  |'s aid the creat|
000001a0  69 6f 6e 20 6f 66 20 6d  65 6e 75 73 20 61 6e 64  |ion of menus and|
000001b0  20 61 6c 74 65 72 61 74  69 6f 6e 20 6f 66 0a 69  | alteration of.i|
000001c0  63 6f 6e 20 63 68 61 72  61 63 74 65 72 69 73 74  |con characterist|
000001d0  69 63 73 2c 20 61 6e 64  20 73 6f 20 61 6c 6c 6f  |ics, and so allo|
000001e0  77 20 74 68 65 20 77 69  6d 70 20 6d 61 6e 61 67  |w the wimp manag|
000001f0  65 72 20 74 6f 20 68 61  6e 64 6c 65 20 61 20 6c  |er to handle a l|
00000200  6f 74 20 6f 66 20 74 68  65 0a 70 72 6f 63 65 73  |ot of the.proces|
00000210  73 69 6e 67 20 73 75 63  68 20 61 73 20 72 65 74  |sing such as ret|
00000220  75 72 6e 69 6e 67 20 61  6e 20 69 63 6f 6e 27 73  |urning an icon's|
00000230  20 74 65 78 74 20 6f 72  20 73 65 74 74 69 6e 67  | text or setting|
00000240  20 74 68 65 20 73 74 61  74 65 20 6f 66 20 61 6e  | the state of an|
00000250  20 69 63 6f 6e 2e 0a 49  6e 20 73 6f 6d 65 20 63  | icon..In some c|
00000260  61 73 65 73 20 74 68 65  20 72 6f 75 74 69 6e 65  |ases the routine|
00000270  20 6a 75 73 74 20 61 6c  6c 6f 77 73 20 61 20 63  | just allows a c|
00000280  6c 65 61 6e 65 72 20 63  61 6c 6c 2e 0a 0a 0a 2d  |leaner call....-|
00000290  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000002d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 0a 53 57  |-----------...SW|
000002e0  49 20 52 4f 55 54 49 4e  45 53 0a 3d 3d 3d 3d 3d  |I ROUTINES.=====|
000002f0  3d 3d 3d 3d 3d 3d 3d 0a  0a 54 68 65 20 66 6f 6c  |=======..The fol|
00000300  6c 6f 77 69 6e 67 20 69  73 20 61 20 6c 69 73 74  |lowing is a list|
00000310  20 6f 66 20 74 68 65 20  53 57 49 20 72 6f 75 74  | of the SWI rout|
00000320  69 6e 65 73 20 61 6e 64  20 74 68 65 20 70 61 72  |ines and the par|
00000330  61 6d 65 74 65 72 73 20  74 6f 20 62 65 20 70 61  |ameters to be pa|
00000340  73 73 65 64 0a 61 6e 64  20 72 65 74 75 72 6e 65  |ssed.and returne|
00000350  64 20 62 79 20 74 68 65  20 72 6f 75 74 69 6e 65  |d by the routine|
00000360  2e 0a 0a 20 20 34 37 43  38 30 20 57 53 57 69 6d  |...  47C80 WSWim|
00000370  70 54 6f 6f 6c 73 5f 56  65 72 73 69 6f 6e 0a 20  |pTools_Version. |
00000380  20 34 37 43 38 31 20 57  53 57 69 6d 70 54 6f 6f  | 47C81 WSWimpToo|
00000390  6c 73 5f 54 61 73 6b 49  63 6f 6e 0a 20 20 34 37  |ls_TaskIcon.  47|
000003a0  43 38 32 20 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |C82 WSWimpTools_|
000003b0  50 6f 70 4f 70 65 6e 57  69 6e 64 6f 77 0a 20 20  |PopOpenWindow.  |
000003c0  34 37 43 38 33 20 57 53  57 69 6d 70 54 6f 6f 6c  |47C83 WSWimpTool|
000003d0  73 5f 4f 70 65 6e 50 61  6e 65 57 69 6e 64 6f 77  |s_OpenPaneWindow|
000003e0  0a 20 20 34 37 43 38 34  20 57 53 57 69 6d 70 54  |.  47C84 WSWimpT|
000003f0  6f 6f 6c 73 5f 50 6f 70  4f 70 65 6e 50 61 6e 65  |ools_PopOpenPane|
00000400  57 69 6e 64 6f 77 0a 20  20 34 37 43 38 35 20 57  |Window.  47C85 W|
00000410  53 57 69 6d 70 54 6f 6f  6c 73 5f 43 6c 6f 73 65  |SWimpTools_Close|
00000420  57 69 6e 64 6f 77 0a 20  20 34 37 43 38 36 20 57  |Window.  47C86 W|
00000430  53 57 69 6d 70 54 6f 6f  6c 73 5f 54 6f 67 67 6c  |SWimpTools_Toggl|
00000440  65 49 63 6f 6e 0a 20 20  34 37 43 38 37 20 57 53  |eIcon.  47C87 WS|
00000450  57 69 6d 70 54 6f 6f 6c  73 5f 53 65 74 49 63 6f  |WimpTools_SetIco|
00000460  6e 53 65 6c 65 63 74 0a  20 20 34 37 43 38 38 20  |nSelect.  47C88 |
00000470  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 47 65 74 49  |WSWimpTools_GetI|
00000480  63 6f 6e 53 65 6c 65 63  74 53 74 61 74 65 0a 20  |conSelectState. |
00000490  20 34 37 43 38 39 20 57  53 57 69 6d 70 54 6f 6f  | 47C89 WSWimpToo|
000004a0  6c 73 5f 53 65 74 49 63  6f 6e 45 6e 61 62 6c 65  |ls_SetIconEnable|
000004b0  0a 20 20 34 37 43 38 41  20 57 53 57 69 6d 70 54  |.  47C8A WSWimpT|
000004c0  6f 6f 6c 73 5f 47 65 74  49 63 6f 6e 45 6e 61 62  |ools_GetIconEnab|
000004d0  6c 65 53 74 61 74 65 0a  20 20 34 37 43 38 42 20  |leState.  47C8B |
000004e0  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 53 65 74 49  |WSWimpTools_SetI|
000004f0  63 6f 6e 54 65 78 74 0a  20 20 34 37 43 38 43 20  |conText.  47C8C |
00000500  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 47 65 74 49  |WSWimpTools_GetI|
00000510  63 6f 6e 54 65 78 74 0a  20 20 34 37 43 38 44 20  |conText.  47C8D |
00000520  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 53 65 74 49  |WSWimpTools_SetI|
00000530  63 6f 6e 56 61 6c 69 64  61 74 69 6f 6e 0a 20 20  |conValidation.  |
00000540  34 37 43 38 45 20 57 53  57 69 6d 70 54 6f 6f 6c  |47C8E WSWimpTool|
00000550  73 5f 47 65 74 49 63 6f  6e 56 61 6c 69 64 61 74  |s_GetIconValidat|
00000560  69 6f 6e 0a 20 20 34 37  43 38 46 20 57 53 57 69  |ion.  47C8F WSWi|
00000570  6d 70 54 6f 6f 6c 73 5f  53 65 74 57 69 6e 64 6f  |mpTools_SetWindo|
00000580  77 54 69 74 6c 65 0a 20  20 34 37 43 39 30 20 57  |wTitle.  47C90 W|
00000590  53 57 69 6d 70 54 6f 6f  6c 73 5f 47 65 74 57 69  |SWimpTools_GetWi|
000005a0  6e 64 6f 77 54 69 74 6c  65 0a 20 20 34 37 43 39  |ndowTitle.  47C9|
000005b0  31 20 57 53 57 69 6d 70  54 6f 6f 6c 73 5f 55 70  |1 WSWimpTools_Up|
000005c0  64 61 74 65 57 69 6e 64  6f 77 0a 20 20 34 37 43  |dateWindow.  47C|
000005d0  39 32 20 57 53 57 69 6d  70 54 6f 6f 6c 73 5f 4d  |92 WSWimpTools_M|
000005e0  61 6b 65 4d 65 6e 75 48  65 61 64 65 72 0a 20 20  |akeMenuHeader.  |
000005f0  34 37 43 39 33 20 57 53  57 69 6d 70 54 6f 6f 6c  |47C93 WSWimpTool|
00000600  73 5f 4d 61 6b 65 4d 65  6e 75 49 74 65 6d 0a 20  |s_MakeMenuItem. |
00000610  20 34 37 43 39 34 20 57  53 57 69 6d 70 54 6f 6f  | 47C94 WSWimpToo|
00000620  6c 73 5f 53 65 74 4d 65  6e 75 49 74 65 6d 54 65  |ls_SetMenuItemTe|
00000630  78 74 0a 20 20 34 37 43  39 35 20 57 53 57 69 6d  |xt.  47C95 WSWim|
00000640  70 54 6f 6f 6c 73 5f 47  65 74 4d 65 6e 75 49 74  |pTools_GetMenuIt|
00000650  65 6d 54 65 78 74 0a 20  20 34 37 43 39 36 20 57  |emText.  47C96 W|
00000660  53 57 69 6d 70 54 6f 6f  6c 73 5f 4d 61 6b 65 4d  |SWimpTools_MakeM|
00000670  65 6e 75 49 74 65 6d 4c  61 73 74 0a 20 20 34 37  |enuItemLast.  47|
00000680  43 39 37 20 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |C97 WSWimpTools_|
00000690  53 65 74 4d 65 6e 75 49  74 65 6d 54 69 63 6b 0a  |SetMenuItemTick.|
000006a0  20 20 34 37 43 39 38 20  57 53 57 69 6d 70 54 6f  |  47C98 WSWimpTo|
000006b0  6f 6c 73 5f 47 65 74 4d  65 6e 75 49 74 65 6d 54  |ols_GetMenuItemT|
000006c0  69 63 6b 0a 20 20 34 37  43 39 39 20 57 53 57 69  |ick.  47C99 WSWi|
000006d0  6d 70 54 6f 6f 6c 73 5f  53 65 74 4d 65 6e 75 49  |mpTools_SetMenuI|
000006e0  74 65 6d 4d 65 73 73 61  67 65 0a 20 20 34 37 43  |temMessage.  47C|
000006f0  39 41 20 57 53 57 69 6d  70 54 6f 6f 6c 73 5f 47  |9A WSWimpTools_G|
00000700  65 74 4d 65 6e 75 49 74  65 6d 4d 65 73 73 61 67  |etMenuItemMessag|
00000710  65 0a 20 20 34 37 43 39  42 20 57 53 57 69 6d 70  |e.  47C9B WSWimp|
00000720  54 6f 6f 6c 73 5f 53 65  74 4d 65 6e 75 49 74 65  |Tools_SetMenuIte|
00000730  6d 45 6e 61 62 6c 65 0a  20 20 34 37 43 39 43 20  |mEnable.  47C9C |
00000740  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 47 65 74 4d  |WSWimpTools_GetM|
00000750  65 6e 75 49 74 65 6d 45  6e 61 62 6c 65 0a 20 20  |enuItemEnable.  |
00000760  34 37 43 39 44 20 57 53  57 69 6d 70 54 6f 6f 6c  |47C9D WSWimpTool|
00000770  73 5f 53 65 74 4d 65 6e  75 49 74 65 6d 4f 70 74  |s_SetMenuItemOpt|
00000780  69 6f 6e 73 0a 20 20 34  37 43 39 45 20 57 53 57  |ions.  47C9E WSW|
00000790  69 6d 70 54 6f 6f 6c 73  5f 47 65 74 4d 65 6e 75  |impTools_GetMenu|
000007a0  49 74 65 6d 4f 70 74 69  6f 6e 73 0a 20 20 34 37  |ItemOptions.  47|
000007b0  43 39 46 20 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |C9F WSWimpTools_|
000007c0  41 74 74 61 63 68 53 75  62 4d 65 6e 75 0a 0a 20  |AttachSubMenu.. |
000007d0  20 34 37 43 41 31 20 57  53 57 69 6d 70 54 6f 6f  | 47CA1 WSWimpToo|
000007e0  6c 73 5f 49 63 6f 6e 42  61 72 4d 65 6e 75 0a 20  |ls_IconBarMenu. |
000007f0  20 34 37 43 41 32 20 57  53 57 69 6d 70 54 6f 6f  | 47CA2 WSWimpToo|
00000800  6c 73 5f 4d 65 6e 75 41  64 6a 75 73 74 0a 20 20  |ls_MenuAdjust.  |
00000810  34 37 43 41 33 20 57 53  57 69 6d 70 54 6f 6f 6c  |47CA3 WSWimpTool|
00000820  73 5f 4d 61 6b 65 4d 65  6e 75 0a 20 20 34 37 43  |s_MakeMenu.  47C|
00000830  41 34 20 57 53 57 69 6d  70 54 6f 6f 6c 73 5f 47  |A4 WSWimpTools_G|
00000840  65 74 54 65 78 74 0a 20  20 34 37 43 41 35 20 57  |etText.  47CA5 W|
00000850  53 57 69 6d 70 54 6f 6f  6c 73 5f 53 74 61 72 74  |SWimpTools_Start|
00000860  44 72 61 67 0a 20 20 34  37 43 41 36 20 57 53 57  |Drag.  47CA6 WSW|
00000870  69 6d 70 54 6f 6f 6c 73  5f 53 65 6e 64 53 61 76  |impTools_SendSav|
00000880  65 0a 20 20 34 37 43 41  37 20 57 53 57 69 6d 70  |e.  47CA7 WSWimp|
00000890  54 6f 6f 6c 73 5f 53 65  6e 64 4c 6f 61 64 0a 20  |Tools_SendLoad. |
000008a0  20 34 37 43 41 38 20 57  53 57 69 6d 70 54 6f 6f  | 47CA8 WSWimpToo|
000008b0  6c 73 5f 53 65 6e 64 53  61 76 65 41 63 6b 0a 20  |ls_SendSaveAck. |
000008c0  20 34 37 43 41 39 20 57  53 57 69 6d 70 54 6f 6f  | 47CA9 WSWimpToo|
000008d0  6c 73 5f 53 65 6e 64 4c  6f 61 64 41 63 6b 0a 20  |ls_SendLoadAck. |
000008e0  20 34 37 43 41 41 20 57  53 57 69 6d 70 54 6f 6f  | 47CAA WSWimpToo|
000008f0  6c 73 5f 4c 6f 61 64 54  65 6d 70 6c 61 74 65 73  |ls_LoadTemplates|
00000900  0a 20 20 34 37 43 41 42  20 57 53 57 69 6d 70 54  |.  47CAB WSWimpT|
00000910  6f 6f 6c 73 5f 57 69 6e  64 6f 77 43 6f 6e 76 65  |ools_WindowConve|
00000920  72 74 50 61 72 61 6d 65  74 65 72 20 0a 20 20 34  |rtParameter .  4|
00000930  37 43 41 43 20 57 53 57  69 6d 70 54 6f 6f 6c 73  |7CAC WSWimpTools|
00000940  5f 4c 6f 73 65 54 65 6d  70 6c 61 74 65 46 6f 6e  |_LoseTemplateFon|
00000950  74 73 0a 20 20 34 37 43  41 44 20 57 53 57 69 6d  |ts.  47CAD WSWim|
00000960  70 54 6f 6f 6c 73 5f 52  65 67 69 73 74 65 72 0a  |pTools_Register.|
00000970  20 20 34 37 43 41 45 20  57 53 57 69 6d 70 54 6f  |  47CAE WSWimpTo|
00000980  6f 6c 73 5f 44 65 52 65  67 69 73 74 65 72 0a 20  |ols_DeRegister. |
00000990  20 34 37 43 41 46 20 57  53 57 69 6d 70 54 6f 6f  | 47CAF WSWimpToo|
000009a0  6c 73 5f 4c 6f 61 64 53  70 72 69 74 65 73 0a 20  |ls_LoadSprites. |
000009b0  20 34 37 43 42 30 20 57  53 57 69 6d 70 54 6f 6f  | 47CB0 WSWimpToo|
000009c0  6c 73 5f 47 65 74 4c 65  61 66 0a 20 0a 2d 2d 2d  |ls_GetLeaf. .---|
000009d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000a10  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 44 45 54 41 49  |---------..DETAI|
00000a20  4c 45 44 20 44 45 53 43  52 49 50 54 49 4f 4e 20  |LED DESCRIPTION |
00000a30  4f 46 20 53 57 49 53 0a  3d 3d 3d 3d 3d 3d 3d 3d  |OF SWIS.========|
00000a40  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000a50  3d 3d 3d 3d 0a 0a 54 68  65 20 66 6f 6c 6c 6f 77  |====..The follow|
00000a60  69 6e 67 20 69 73 20 61  20 64 65 74 61 69 6c 65  |ing is a detaile|
00000a70  64 20 64 65 73 63 72 69  70 74 69 6f 6e 20 6f 66  |d description of|
00000a80  20 74 68 65 20 53 57 49  73 20 3a 2d 0a 0a 0a 57  | the SWIs :-...W|
00000a90  53 57 69 6d 70 54 6f 6f  6c 73 5f 56 65 72 73 69  |SWimpTools_Versi|
00000aa0  6f 6e 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |on.-------------|
00000ab0  2d 2d 2d 2d 2d 2d 0a 0a  54 68 69 73 20 63 61 6c  |------..This cal|
00000ac0  6c 20 72 65 74 75 72 6e  73 20 74 68 65 20 76 65  |l returns the ve|
00000ad0  72 73 69 6f 6e 20 6f 66  20 74 68 65 20 57 69 6d  |rsion of the Wim|
00000ae0  70 20 4c 69 62 72 61 72  79 20 69 6e 73 74 61 6c  |p Library instal|
00000af0  6c 65 64 20 73 6f 20 74  68 61 74 20 74 68 65 0a  |led so that the.|
00000b00  70 72 6f 67 72 61 6d 20  63 61 6e 20 63 68 65 63  |program can chec|
00000b10  6b 20 74 68 65 20 74 68  65 20 6f 6e 65 20 69 74  |k the the one it|
00000b20  20 72 65 71 75 69 72 65  73 20 69 73 20 69 6e 73  | requires is ins|
00000b30  74 61 6c 6c 65 64 2e 0a  0a 20 20 20 20 20 20 20  |talled...       |
00000b40  50 61 72 61 6d 65 74 65  72 73 20 70 61 73 73 65  |Parameters passe|
00000b50  64 20 3a 0a 0a 20 20 20  20 20 20 20 20 20 20 20  |d :..           |
00000b60  20 20 20 20 20 20 20 52  30 20 3d 20 20 30 20 20  |       R0 =  0  |
00000b70  2d 20 52 65 74 75 72 6e  20 57 69 6d 70 20 4c 69  |- Return Wimp Li|
00000b80  62 72 61 72 79 20 76 65  72 73 69 6f 6e 20 6e 75  |brary version nu|
00000b90  6d 62 65 72 20 69 6e 20  52 30 0a 20 20 20 20 20  |mber in R0.     |
00000ba0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000bb0  3d 20 2d 31 20 20 2d 20  50 72 69 6e 74 20 73 74  |= -1  - Print st|
00000bc0  72 69 6e 67 20 6f 66 20  76 65 72 73 69 6f 6e 20  |ring of version |
00000bd0  6e 75 6d 62 65 72 20 0a  0a 20 20 20 20 20 20 20  |number ..       |
00000be0  50 61 72 61 6d 65 74 65  72 73 20 72 65 74 75 72  |Parameters retur|
00000bf0  6e 65 64 20 3a 0a 0a 0a  20 20 20 20 20 20 20 20  |ned :...        |
00000c00  20 20 20 20 20 20 20 20  20 20 52 30 20 20 20 20  |          R0    |
00000c10  20 20 20 2d 20 56 65 72  73 69 6f 6e 20 6e 75 6d  |   - Version num|
00000c20  62 65 72 0a 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ber..-----------|
00000c30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000c70  2d 0a 0a 0a 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |-...WSWimpTools_|
00000c80  54 61 73 6b 49 63 6f 6e  0a 2d 2d 2d 2d 2d 2d 2d  |TaskIcon.-------|
00000c90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 54  |-------------..T|
00000ca0  68 69 73 20 63 61 6c 6c  20 64 69 73 70 6c 61 79  |his call display|
00000cb0  73 20 61 6e 20 69 63 6f  6e 20 6f 6e 20 74 68 65  |s an icon on the|
00000cc0  20 69 63 6f 6e 20 62 61  72 2e 20 20 49 74 73 20  | icon bar.  Its |
00000cd0  70 6f 73 69 74 69 6f 6e  20 69 73 20 64 65 74 65  |position is dete|
00000ce0  72 6d 69 6e 65 64 20 62  79 0a 72 30 2e 20 20 54  |rmined by.r0.  T|
00000cf0  68 65 20 74 79 70 65 20  6f 66 20 69 63 6f 6e 20  |he type of icon |
00000d00  69 73 20 69 6e 20 72 31  20 61 6e 64 20 74 68 65  |is in r1 and the|
00000d10  20 73 70 72 69 74 65 20  6e 61 6d 65 20 69 73 20  | sprite name is |
00000d20  67 69 76 65 6e 20 69 6e  20 61 20 62 6c 6f 63 6b  |given in a block|
00000d30  20 61 74 20 72 32 2e 0a  49 66 20 74 68 65 20 69  | at r2..If the i|
00000d40  63 6f 6e 20 69 73 20 69  6e 64 69 72 65 63 74 65  |con is indirecte|
00000d50  64 20 74 68 65 6e 20 74  68 69 73 20 62 6c 6f 63  |d then this bloc|
00000d60  6b 20 69 73 20 75 73 65  64 20 6f 74 68 65 72 77  |k is used otherw|
00000d70  69 73 65 20 74 68 65 20  6e 61 6d 65 20 69 73 0a  |ise the name is.|
00000d80  63 6f 70 69 65 64 20 74  6f 20 74 68 65 20 69 63  |copied to the ic|
00000d90  6f 6e 20 62 6c 6f 63 6b  2e 0a 0a 20 20 20 20 20  |on block...     |
00000da0  20 20 50 61 72 61 6d 65  74 65 72 73 20 70 61 73  |  Parameters pas|
00000db0  73 65 64 20 3a 0a 0a 20  20 20 20 20 20 20 20 20  |sed :..         |
00000dc0  20 20 20 20 20 20 20 20  20 52 30 20 20 20 20 2d  |         R0    -|
00000dd0  20 20 50 6f 73 69 74 69  6f 6e 20 6f 66 20 69 63  |  Position of ic|
00000de0  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
00000df0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0a 20  |              . |
00000e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e10  20 20 20 20 20 20 20 20  20 20 2d 31 20 69 73 20  |          -1 is |
00000e20  72 69 67 68 74 20 73 69  64 65 20 6f 66 20 69 63  |right side of ic|
00000e30  6f 6e 20 62 61 72 0a 20  20 20 20 20 20 20 20 20  |on bar.         |
00000e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e50  20 20 2d 32 20 69 73 20  6c 65 66 74 20 73 69 64  |  -2 is left sid|
00000e60  65 20 6f 66 20 69 63 6f  6e 20 62 61 72 0a 0a 20  |e of icon bar.. |
00000e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e80  20 52 31 20 20 20 20 2d  20 20 49 63 6f 6e 20 74  | R1    -  Icon t|
00000e90  79 70 65 0a 0a 20 20 20  20 20 20 20 20 20 20 20  |ype..           |
00000ea0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000eb0  20 30 20 69 73 20 61 6e  20 6f 72 64 69 6e 61 72  | 0 is an ordinar|
00000ec0  79 20 73 70 72 69 74 65  0a 20 20 20 20 20 20 20  |y sprite.       |
00000ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ee0  20 20 20 20 20 31 20 69  73 20 61 6e 20 69 6e 64  |     1 is an ind|
00000ef0  69 72 65 63 74 65 64 20  73 70 72 69 74 65 0a 20  |irected sprite. |
00000f00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000f10  20 20 20 20 20 20 20 20  20 20 20 32 20 69 73 20  |           2 is |
00000f20  61 6e 20 69 6e 64 69 72  65 63 74 65 64 20 74 65  |an indirected te|
00000f30  78 74 20 73 70 72 69 74  65 0a 0a 20 20 20 20 20  |xt sprite..     |
00000f40  20 20 20 20 20 20 20 20  20 20 20 20 20 52 32 20  |             R2 |
00000f50  20 20 20 2d 20 20 49 63  6f 6e 20 73 74 72 69 6e  |   -  Icon strin|
00000f60  67 20 6f 72 20 64 61 74  61 20 61 64 64 72 65 73  |g or data addres|
00000f70  73 20 69 66 20 69 6e 64  69 72 65 63 74 65 64 0a  |s if indirected.|
00000f80  0a 20 20 20 20 20 20 20  50 61 72 61 6d 65 74 65  |.       Paramete|
00000f90  72 73 20 72 65 74 75 72  6e 65 64 20 3a 0a 0a 0a  |rs returned :...|
00000fa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000fb0  20 20 52 30 20 20 20 20  2d 20 20 49 63 6f 6e 20  |  R0    -  Icon |
00000fc0  6e 75 6d 62 65 72 20 20  20 20 20 20 20 20 20 20  |number          |
00000fd0  20 20 20 20 20 20 20 20  0a 0a 2d 2d 2d 2d 2d 2d  |        ..------|
00000fe0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001020  2d 2d 2d 2d 2d 2d 0a 0a  57 53 57 69 6d 70 54 6f  |------..WSWimpTo|
00001030  6f 6c 73 5f 50 6f 70 4f  70 65 6e 57 69 6e 64 6f  |ols_PopOpenWindo|
00001040  77 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |w.--------------|
00001050  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 54 68 69  |-----------..Thi|
00001060  73 20 63 61 6c 6c 20 6f  70 65 6e 73 20 74 68 65  |s call opens the|
00001070  20 73 70 65 63 69 66 69  65 64 20 77 69 6e 64 6f  | specified windo|
00001080  77 20 6f 6e 20 74 68 65  20 74 6f 70 20 6f 66 20  |w on the top of |
00001090  61 6c 6c 20 6f 74 68 65  72 20 77 69 6e 64 6f 77  |all other window|
000010a0  73 20 75 73 69 6e 67 0a  69 74 73 20 74 68 65 20  |s using.its the |
000010b0  6c 61 73 74 20 61 6e 64  20 70 6f 73 69 74 69 6f  |last and positio|
000010c0  6e 20 61 6e 64 20 73 69  7a 65 2e 20 20 49 66 20  |n and size.  If |
000010d0  6e 6f 74 20 6f 70 65 6e  65 64 20 70 72 65 76 69  |not opened previ|
000010e0  6f 75 73 6c 79 20 69 74  20 75 73 65 73 20 74 68  |ously it uses th|
000010f0  65 0a 64 65 66 69 6e 69  74 69 6f 6e 20 69 74 20  |e.definition it |
00001100  69 73 20 63 72 65 61 74  65 64 20 77 69 74 68 2e  |is created with.|
00001110  0a 0a 20 20 20 20 20 20  20 50 61 72 61 6d 65 74  |..       Paramet|
00001120  65 72 73 20 70 61 73 73  65 64 20 3a 0a 0a 20 20  |ers passed :..  |
00001130  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001140  52 30 20 20 20 20 2d 20  20 57 69 6e 64 6f 77 20  |R0    -  Window |
00001150  68 61 6e 64 6c 65 20 74  6f 20 62 65 20 6f 70 65  |handle to be ope|
00001160  6e 65 64 0a 0a 20 20 20  20 20 20 20 20 20 20 20  |ned..           |
00001170  20 20 20 20 20 20 20 49  66 20 52 31 20 3d 20 77  |       If R1 = w|
00001180  69 6e 64 6f 77 20 68 61  6e 64 6c 65 20 62 6c 6f  |indow handle blo|
00001190  63 6b 20 63 72 65 61 74  65 64 20 62 79 0a 20 20  |ck created by.  |
000011a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011b0  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 4c 6f 61 64  |WSWimpTools_Load|
000011c0  54 65 6d 70 6c 61 74 65  20 74 68 65 6e 0a 0a 20  |Template then.. |
000011d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011e0  20 52 30 20 20 20 20 2d  20 20 57 69 6e 64 6f 77  | R0    -  Window|
000011f0  20 6e 61 6d 65 20 6f 72  20 6e 75 6d 62 65 72 0a  | name or number.|
00001200  0a 20 20 20 20 20 20 20  50 61 72 61 6d 65 74 65  |.       Paramete|
00001210  72 73 20 72 65 74 75 72  6e 65 64 20 3a 0a 0a 20  |rs returned :.. |
00001220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001230  20 4e 6f 6e 65 0a 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  | None..---------|
00001240  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001280  2d 2d 2d 0a 0a 57 53 57  69 6d 70 54 6f 6f 6c 73  |---..WSWimpTools|
00001290  5f 4f 70 65 6e 50 61 6e  65 57 69 6e 64 6f 77 0a  |_OpenPaneWindow.|
000012a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000012b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 54 68 69 73  |----------..This|
000012c0  20 63 61 6c 6c 20 6f 70  65 6e 73 20 74 68 65 20  | call opens the |
000012d0  73 70 65 63 69 66 69 65  64 20 77 69 6e 64 6f 77  |specified window|
000012e0  20 77 69 74 68 20 74 68  65 20 70 61 6e 65 20 77  | with the pane w|
000012f0  69 6e 64 6f 77 20 62 65  69 6e 67 20 64 69 73 70  |indow being disp|
00001300  6c 61 79 65 64 0a 75 73  69 6e 67 20 74 68 65 20  |layed.using the |
00001310  63 6f 6f 72 64 69 6e 61  74 65 73 20 6f 66 20 74  |coordinates of t|
00001320  68 65 20 69 63 6f 6e 20  69 6e 20 72 32 2e 20 20  |he icon in r2.  |
00001330  54 68 65 20 68 61 6e 64  6c 65 20 6f 66 20 74 68  |The handle of th|
00001340  65 20 70 61 6e 65 20 77  69 6e 64 6f 77 20 69 73  |e pane window is|
00001350  0a 70 61 73 73 65 64 20  69 6e 20 72 33 2e 0a 0a  |.passed in r3...|
00001360  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
00001370  73 20 70 61 73 73 65 64  20 3a 0a 0a 20 20 20 20  |s passed :..    |
00001380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 31  |              R1|
00001390  20 20 20 20 2d 20 20 42  6c 6f 63 6b 20 72 65 74  |    -  Block ret|
000013a0  75 72 6e 65 64 20 62 79  20 57 69 6d 70 5f 50 6f  |urned by Wimp_Po|
000013b0  6c 6c 20 6f 70 65 6e 20  77 69 6e 64 6f 77 0a 20  |ll open window. |
000013c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013d0  20 52 32 20 20 20 20 2d  20 20 49 63 6f 6e 20 74  | R2    -  Icon t|
000013e0  6f 20 75 73 65 20 61 73  20 70 6f 73 69 74 69 6f  |o use as positio|
000013f0  6e 20 6f 66 20 70 61 6e  65 0a 20 20 20 20 20 20  |n of pane.      |
00001400  20 20 20 20 20 20 20 20  20 20 20 20 52 33 20 20  |            R3  |
00001410  20 20 2d 20 20 48 61 6e  64 6c 65 20 6f 66 20 70  |  -  Handle of p|
00001420  61 6e 65 20 77 69 6e 64  6f 77 0a 0a 20 20 20 20  |ane window..    |
00001430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 49 66  |              If|
00001440  20 52 34 20 3d 20 77 69  6e 64 6f 77 20 68 61 6e  | R4 = window han|
00001450  64 6c 65 20 62 6c 6f 63  6b 20 63 72 65 61 74 65  |dle block create|
00001460  64 20 62 79 0a 20 20 20  20 20 20 20 20 20 20 20  |d by.           |
00001470  20 20 20 20 20 20 20 57  53 57 69 6d 70 54 6f 6f  |       WSWimpToo|
00001480  6c 73 5f 4c 6f 61 64 54  65 6d 70 6c 61 74 65 20  |ls_LoadTemplate |
00001490  74 68 65 6e 0a 0a 20 20  20 20 20 20 20 20 20 20  |then..          |
000014a0  20 20 20 20 20 20 20 20  52 33 20 20 20 20 2d 20  |        R3    - |
000014b0  20 57 69 6e 64 6f 77 20  6e 61 6d 65 20 6f 72 20  | Window name or |
000014c0  6e 75 6d 62 65 72 0a 0a  20 20 20 20 20 20 20 50  |number..       P|
000014d0  61 72 61 6d 65 74 65 72  73 20 72 65 74 75 72 6e  |arameters return|
000014e0  65 64 20 3a 0a 0a 20 20  20 20 20 20 20 20 20 20  |ed :..          |
000014f0  20 20 20 20 20 20 20 20  4e 6f 6e 65 0a 0a 2d 2d  |        None..--|
00001500  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001540  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 57 53 57 69  |----------..WSWi|
00001550  6d 70 54 6f 6f 6c 73 5f  50 6f 70 4f 70 65 6e 50  |mpTools_PopOpenP|
00001560  61 6e 65 57 69 6e 64 6f  77 0a 2d 2d 2d 2d 2d 2d  |aneWindow.------|
00001570  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001580  2d 2d 2d 2d 2d 2d 2d 0a  0a 54 68 69 73 20 63 61  |-------..This ca|
00001590  6c 6c 20 6f 70 65 6e 73  20 74 68 65 20 73 70 65  |ll opens the spe|
000015a0  63 69 66 69 65 64 20 77  69 6e 64 6f 77 20 2c 74  |cified window ,t|
000015b0  68 65 20 68 61 6e 64 6c  65 20 6f 66 20 77 68 69  |he handle of whi|
000015c0  63 68 20 69 73 20 70 61  73 73 65 64 20 69 6e 20  |ch is passed in |
000015d0  72 30 2c 0a 77 69 74 68  20 74 68 65 20 70 61 6e  |r0,.with the pan|
000015e0  65 20 77 69 6e 64 6f 77  20 62 65 69 6e 67 20 64  |e window being d|
000015f0  69 73 70 6c 61 79 65 64  20 75 73 69 6e 67 20 74  |isplayed using t|
00001600  68 65 20 63 6f 6f 72 64  69 6e 61 74 65 73 20 6f  |he coordinates o|
00001610  66 20 74 68 65 20 69 63  6f 6e 20 69 6e 0a 72 32  |f the icon in.r2|
00001620  2e 20 20 54 68 65 20 68  61 6e 64 6c 65 20 6f 66  |.  The handle of|
00001630  20 74 68 65 20 70 61 6e  65 20 77 69 6e 64 6f 77  | the pane window|
00001640  20 69 73 20 70 61 73 73  65 64 20 69 6e 20 72 33  | is passed in r3|
00001650  2e 0a 0a 0a 20 20 20 20  20 20 20 50 61 72 61 6d  |....       Param|
00001660  65 74 65 72 73 20 70 61  73 73 65 64 20 3a 0a 0a  |eters passed :..|
00001670  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001680  20 20 52 30 20 20 20 20  2d 20 20 57 69 6e 64 6f  |  R0    -  Windo|
00001690  77 20 68 61 6e 64 6c 65  20 74 6f 20 62 65 20 6f  |w handle to be o|
000016a0  70 65 6e 65 64 0a 20 20  20 20 20 20 20 20 20 20  |pened.          |
000016b0  20 20 20 20 20 20 20 20  52 32 20 20 20 20 2d 20  |        R2    - |
000016c0  20 49 63 6f 6e 20 74 6f  20 75 73 65 20 61 73 20  | Icon to use as |
000016d0  70 6f 73 69 74 69 6f 6e  20 6f 66 20 70 61 6e 65  |position of pane|
000016e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000016f0  20 20 20 52 33 20 20 20  20 2d 20 20 48 61 6e 64  |   R3    -  Hand|
00001700  6c 65 20 6f 66 20 70 61  6e 65 20 77 69 6e 64 6f  |le of pane windo|
00001710  77 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |w..             |
00001720  20 20 20 20 20 49 66 20  52 34 20 3d 20 77 69 6e  |     If R4 = win|
00001730  64 6f 77 20 68 61 6e 64  6c 65 20 62 6c 6f 63 6b  |dow handle block|
00001740  20 63 72 65 61 74 65 64  20 62 79 0a 20 20 20 20  | created by.    |
00001750  20 20 20 20 20 20 20 20  20 20 20 20 20 20 57 53  |              WS|
00001760  57 69 6d 70 54 6f 6f 6c  73 5f 4c 6f 61 64 54 65  |WimpTools_LoadTe|
00001770  6d 70 6c 61 74 65 20 74  68 65 6e 0a 0a 20 20 20  |mplate then..   |
00001780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
00001790  30 2c 52 33 20 2d 20 20  57 69 6e 64 6f 77 20 6e  |0,R3 -  Window n|
000017a0  61 6d 65 20 6f 72 20 6e  75 6d 62 65 72 0a 0a 20  |ame or number.. |
000017b0  20 20 20 20 20 20 50 61  72 61 6d 65 74 65 72 73  |      Parameters|
000017c0  20 72 65 74 75 72 6e 65  64 20 3a 0a 0a 20 20 20  | returned :..   |
000017d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4e  |               N|
000017e0  6f 6e 65 0a 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |one..-----------|
000017f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001830  2d 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |-.              |
00001840  20 20 20 20 20 20 20 0a  57 53 57 69 6d 70 54 6f  |       .WSWimpTo|
00001850  6f 6c 73 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 0a  |ols_CloseWindow.|
00001860  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001870  2d 2d 2d 2d 2d 2d 2d 0a  0a 54 68 69 73 20 63 61  |-------..This ca|
00001880  6c 6c 20 63 6c 6f 73 65  73 20 74 68 65 20 73 70  |ll closes the sp|
00001890  65 63 69 66 69 65 64 20  77 69 6e 64 6f 77 2e 0a  |ecified window..|
000018a0  0a 20 20 20 20 20 20 20  50 61 72 61 6d 65 74 65  |.       Paramete|
000018b0  72 73 20 70 61 73 73 65  64 20 3a 0a 0a 20 20 20  |rs passed :..   |
000018c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
000018d0  30 20 20 20 20 2d 20 20  57 69 6e 64 6f 77 20 68  |0    -  Window h|
000018e0  61 6e 64 6c 65 20 74 6f  20 62 65 20 63 6c 6f 73  |andle to be clos|
000018f0  65 64 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ed..            |
00001900  20 20 20 20 20 20 49 66  20 52 31 20 3d 20 77 69  |      If R1 = wi|
00001910  6e 64 6f 77 20 68 61 6e  64 6c 65 20 62 6c 6f 63  |ndow handle bloc|
00001920  6b 20 63 72 65 61 74 65  64 20 62 79 0a 20 20 20  |k created by.   |
00001930  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 57  |               W|
00001940  53 57 69 6d 70 54 6f 6f  6c 73 5f 4c 6f 61 64 54  |SWimpTools_LoadT|
00001950  65 6d 70 6c 61 74 65 20  74 68 65 6e 0a 0a 20 20  |emplate then..  |
00001960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001970  52 30 20 20 20 20 2d 20  20 57 69 6e 64 6f 77 20  |R0    -  Window |
00001980  6e 61 6d 65 20 6f 72 20  6e 75 6d 62 65 72 0a 0a  |name or number..|
00001990  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
000019a0  73 20 72 65 74 75 72 6e  65 64 20 3a 0a 0a 20 20  |s returned :..  |
000019b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000019c0  4e 6f 6e 65 0a 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |None..----------|
000019d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001a10  2d 2d 0a 20 20 20 20 20  20 20 0a 57 53 57 69 6d  |--.       .WSWim|
00001a20  70 54 6f 6f 6c 73 5f 54  6f 67 67 6c 65 49 63 6f  |pTools_ToggleIco|
00001a30  6e 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |n.--------------|
00001a40  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 54 68 69 73 20 63  |--------..This c|
00001a50  61 6c 6c 20 74 6f 67 67  6c 65 73 20 74 68 65 20  |all toggles the |
00001a60  73 65 6c 65 63 74 20 73  74 61 74 65 20 6f 66 20  |select state of |
00001a70  74 68 65 20 73 70 65 63  69 66 69 65 64 20 69 63  |the specified ic|
00001a80  6f 6e 2e 20 20 49 2e 65  2e 20 69 66 20 69 74 20  |on.  I.e. if it |
00001a90  77 61 73 0a 73 65 6c 65  63 74 65 64 20 74 68 65  |was.selected the|
00001aa0  6e 20 69 74 20 69 73 20  64 65 73 65 6c 65 63 74  |n it is deselect|
00001ab0  65 64 20 69 66 20 69 74  20 77 61 73 20 6e 6f 74  |ed if it was not|
00001ac0  20 73 65 6c 65 63 74 65  64 20 74 68 65 6e 20 69  | selected then i|
00001ad0  74 20 69 73 20 73 65 6c  65 63 74 65 64 2e 0a 54  |t is selected..T|
00001ae0  68 65 20 63 61 6c 6c 20  72 65 74 75 72 6e 73 20  |he call returns |
00001af0  74 68 65 20 73 74 61 74  65 20 6f 66 20 74 68 65  |the state of the|
00001b00  20 69 63 6f 6e 20 61 66  74 65 72 20 74 6f 67 67  | icon after togg|
00001b10  6c 69 6e 67 2e 0a 0a 20  20 20 20 20 20 20 50 61  |ling...       Pa|
00001b20  72 61 6d 65 74 65 72 73  20 70 61 73 73 65 64 20  |rameters passed |
00001b30  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |:..             |
00001b40  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 57 69  |     R0    -  Wi|
00001b50  6e 64 6f 77 20 68 61 6e  64 6c 65 20 6f 66 20 69  |ndow handle of i|
00001b60  63 6f 6e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |con.            |
00001b70  20 20 20 20 20 20 52 31  20 20 20 20 2d 20 20 49  |      R1    -  I|
00001b80  63 6f 6e 20 6e 75 6d 62  65 72 0a 0a 20 20 20 20  |con number..    |
00001b90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 49 66  |              If|
00001ba0  20 52 33 20 3d 20 77 69  6e 64 6f 77 20 68 61 6e  | R3 = window han|
00001bb0  64 6c 65 20 62 6c 6f 63  6b 20 63 72 65 61 74 65  |dle block create|
00001bc0  64 20 62 79 0a 20 20 20  20 20 20 20 20 20 20 20  |d by.           |
00001bd0  20 20 20 20 20 20 20 57  53 57 69 6d 70 54 6f 6f  |       WSWimpToo|
00001be0  6c 73 5f 4c 6f 61 64 54  65 6d 70 6c 61 74 65 20  |ls_LoadTemplate |
00001bf0  74 68 65 6e 0a 0a 20 20  20 20 20 20 20 20 20 20  |then..          |
00001c00  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00001c10  20 57 69 6e 64 6f 77 20  6e 61 6d 65 20 6f 72 20  | Window name or |
00001c20  6e 75 6d 62 65 72 0a 0a  20 20 20 20 20 20 20 50  |number..       P|
00001c30  61 72 61 6d 65 74 65 72  73 20 72 65 74 75 72 6e  |arameters return|
00001c40  65 64 20 3a 0a 0a 20 20  20 20 20 20 20 20 20 20  |ed :..          |
00001c50  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00001c60  20 53 74 61 74 65 20 6f  66 20 69 63 6f 6e 20 61  | State of icon a|
00001c70  66 74 65 72 20 74 6f 67  67 6c 69 6e 67 0a 0a 20  |fter toggling.. |
00001c80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001c90  20 20 20 20 20 20 20 20  20 20 2d 31 20 69 66 20  |          -1 if |
00001ca0  73 65 6c 65 63 74 65 64  0a 20 20 20 20 20 20 20  |selected.       |
00001cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001cc0  20 20 20 20 20 30 20 69  66 20 6e 6f 74 20 73 65  |     0 if not se|
00001cd0  6c 65 63 74 65 64 0a 0a  2d 2d 2d 2d 2d 2d 2d 2d  |lected..--------|
00001ce0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001d20  2d 2d 2d 2d 0a 20 20 20  20 20 20 20 0a 57 53 57  |----.       .WSW|
00001d30  69 6d 70 54 6f 6f 6c 73  5f 53 65 74 49 63 6f 6e  |impTools_SetIcon|
00001d40  53 65 6c 65 63 74 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |Select.---------|
00001d50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001d60  0a 0a 54 68 69 73 20 63  61 6c 6c 20 73 65 6c 65  |..This call sele|
00001d70  63 74 73 20 74 68 65 20  73 70 65 63 69 66 69 65  |cts the specifie|
00001d80  64 20 69 63 6f 6e 2e 0a  0a 20 20 20 20 20 20 20  |d icon...       |
00001d90  50 61 72 61 6d 65 74 65  72 73 20 70 61 73 73 65  |Parameters passe|
00001da0  64 20 3a 0a 0a 20 20 20  20 20 20 20 20 20 20 20  |d :..           |
00001db0  20 20 20 20 20 20 20 52  30 20 20 20 20 2d 20 20  |       R0    -  |
00001dc0  57 69 6e 64 6f 77 20 68  61 6e 64 6c 65 20 6f 66  |Window handle of|
00001dd0  20 69 63 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  | icon.          |
00001de0  20 20 20 20 20 20 20 20  52 31 20 20 20 20 2d 20  |        R1    - |
00001df0  20 49 63 6f 6e 20 6e 75  6d 62 65 72 0a 20 20 20  | Icon number.   |
00001e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
00001e10  32 20 20 20 20 2d 20 20  2d 31 20 74 6f 20 73 65  |2    -  -1 to se|
00001e20  6c 65 63 74 0a 20 20 20  20 20 20 20 20 20 20 20  |lect.           |
00001e30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001e40  20 30 20 74 6f 20 64 65  73 65 6c 65 63 74 0a 0a  | 0 to deselect..|
00001e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001e60  20 20 49 66 20 52 33 20  3d 20 77 69 6e 64 6f 77  |  If R3 = window|
00001e70  20 68 61 6e 64 6c 65 20  62 6c 6f 63 6b 20 63 72  | handle block cr|
00001e80  65 61 74 65 64 20 62 79  0a 20 20 20 20 20 20 20  |eated by.       |
00001e90  20 20 20 20 20 20 20 20  20 20 20 57 53 57 69 6d  |           WSWim|
00001ea0  70 54 6f 6f 6c 73 5f 4c  6f 61 64 54 65 6d 70 6c  |pTools_LoadTempl|
00001eb0  61 74 65 20 74 68 65 6e  0a 0a 20 20 20 20 20 20  |ate then..      |
00001ec0  20 20 20 20 20 20 20 20  20 20 20 20 52 30 20 20  |            R0  |
00001ed0  20 20 2d 20 20 57 69 6e  64 6f 77 20 6e 61 6d 65  |  -  Window name|
00001ee0  20 6f 72 20 6e 75 6d 62  65 72 0a 0a 20 20 20 20  | or number..    |
00001ef0  20 20 20 50 61 72 61 6d  65 74 65 72 73 20 72 65  |   Parameters re|
00001f00  74 75 72 6e 65 64 20 3a  0a 0a 20 20 20 20 20 20  |turned :..      |
00001f10  20 20 20 20 20 20 20 20  20 20 20 20 4e 6f 6e 65  |            None|
00001f20  0a 0a 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |...-------------|
00001f30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001f60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00001f70  20 20 20 20 20 20 20 0a  57 53 57 69 6d 70 54 6f  |       .WSWimpTo|
00001f80  6f 6c 73 5f 47 65 74 49  63 6f 6e 53 65 6c 65 63  |ols_GetIconSelec|
00001f90  74 53 74 61 74 65 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |tState.---------|
00001fa0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001fb0  2d 2d 2d 2d 2d 0a 0a 54  68 69 73 20 63 61 6c 6c  |-----..This call|
00001fc0  20 72 65 74 75 72 6e 73  20 74 68 65 20 73 65 6c  | returns the sel|
00001fd0  65 63 74 20 73 74 61 74  65 20 6f 66 20 74 68 65  |ect state of the|
00001fe0  20 73 70 65 63 69 66 69  65 64 20 69 63 6f 6e 2e  | specified icon.|
00001ff0  0a 0a 20 20 20 20 20 20  20 50 61 72 61 6d 65 74  |..       Paramet|
00002000  65 72 73 20 70 61 73 73  65 64 20 3a 0a 0a 20 20  |ers passed :..  |
00002010  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002020  52 30 20 20 20 20 2d 20  20 57 69 6e 64 6f 77 20  |R0    -  Window |
00002030  68 61 6e 64 6c 65 20 6f  66 20 69 63 6f 6e 0a 20  |handle of icon. |
00002040  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002050  20 52 31 20 20 20 20 2d  20 20 49 63 6f 6e 20 6e  | R1    -  Icon n|
00002060  75 6d 62 65 72 0a 0a 20  20 20 20 20 20 20 20 20  |umber..         |
00002070  20 20 20 20 20 20 20 20  20 49 66 20 52 33 20 3d  |         If R3 =|
00002080  20 77 69 6e 64 6f 77 20  68 61 6e 64 6c 65 20 62  | window handle b|
00002090  6c 6f 63 6b 20 63 72 65  61 74 65 64 20 62 79 0a  |lock created by.|
000020a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000020b0  20 20 57 53 57 69 6d 70  54 6f 6f 6c 73 5f 4c 6f  |  WSWimpTools_Lo|
000020c0  61 64 54 65 6d 70 6c 61  74 65 20 74 68 65 6e 0a  |adTemplate then.|
000020d0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000020e0  20 20 20 52 30 20 20 20  20 2d 20 20 57 69 6e 64  |   R0    -  Wind|
000020f0  6f 77 20 6e 61 6d 65 20  6f 72 20 6e 75 6d 62 65  |ow name or numbe|
00002100  72 0a 0a 20 20 20 20 20  20 20 50 61 72 61 6d 65  |r..       Parame|
00002110  74 65 72 73 20 72 65 74  75 72 6e 65 64 20 3a 0a  |ters returned :.|
00002120  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00002130  20 20 20 52 30 20 20 20  20 2d 20 20 2d 31 20 69  |   R0    -  -1 i|
00002140  66 20 73 65 6c 65 63 74  65 64 0a 20 20 20 20 20  |f selected.     |
00002150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002160  20 20 20 20 20 20 20 30  20 69 66 20 6e 6f 74 20  |       0 if not |
00002170  73 65 6c 65 63 74 65 64  0a 0a 0a 2d 2d 2d 2d 2d  |selected...-----|
00002180  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000021c0  2d 2d 2d 2d 2d 2d 2d 0a  20 20 20 20 20 20 20 0a  |-------.       .|
000021d0  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 53 65 74 49  |WSWimpTools_SetI|
000021e0  63 6f 6e 45 6e 61 62 6c  65 0a 2d 2d 2d 2d 2d 2d  |conEnable.------|
000021f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00002200  2d 2d 2d 0a 0a 54 68 69  73 20 63 61 6c 6c 20 65  |---..This call e|
00002210  6e 61 62 6c 65 73 20 74  68 65 20 73 70 65 63 69  |nables the speci|
00002220  66 69 65 64 20 69 63 6f  6e 2e 0a 0a 20 20 20 20  |fied icon...    |
00002230  20 20 20 50 61 72 61 6d  65 74 65 72 73 20 70 61  |   Parameters pa|
00002240  73 73 65 64 20 3a 0a 0a  20 20 20 20 20 20 20 20  |ssed :..        |
00002250  20 20 20 20 20 20 20 20  20 20 52 30 20 20 20 20  |          R0    |
00002260  2d 20 20 57 69 6e 64 6f  77 20 68 61 6e 64 6c 65  |-  Window handle|
00002270  20 6f 66 20 69 63 6f 6e  0a 20 20 20 20 20 20 20  | of icon.       |
00002280  20 20 20 20 20 20 20 20  20 20 20 52 31 20 20 20  |           R1   |
00002290  20 2d 20 20 49 63 6f 6e  20 6e 75 6d 62 65 72 0a  | -  Icon number.|
000022a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022b0  20 20 52 32 20 20 20 20  2d 20 20 2d 31 20 74 6f  |  R2    -  -1 to|
000022c0  20 73 65 6c 65 63 74 0a  20 20 20 20 20 20 20 20  | select.        |
000022d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022e0  20 20 20 20 30 20 74 6f  20 64 65 73 65 6c 65 63  |    0 to deselec|
000022f0  74 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |t..             |
00002300  20 20 20 20 20 49 66 20  52 33 20 3d 20 77 69 6e  |     If R3 = win|
00002310  64 6f 77 20 68 61 6e 64  6c 65 20 62 6c 6f 63 6b  |dow handle block|
00002320  20 63 72 65 61 74 65 64  20 62 79 0a 20 20 20 20  | created by.    |
00002330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 57 53  |              WS|
00002340  57 69 6d 70 54 6f 6f 6c  73 5f 4c 6f 61 64 54 65  |WimpTools_LoadTe|
00002350  6d 70 6c 61 74 65 20 74  68 65 6e 0a 0a 20 20 20  |mplate then..   |
00002360  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
00002370  30 20 20 20 20 2d 20 20  57 69 6e 64 6f 77 20 6e  |0    -  Window n|
00002380  61 6d 65 20 6f 72 20 6e  75 6d 62 65 72 0a 0a 20  |ame or number.. |
00002390  20 20 20 20 20 20 50 61  72 61 6d 65 74 65 72 73  |      Parameters|
000023a0  20 72 65 74 75 72 6e 65  64 20 3a 0a 0a 20 20 20  | returned :..   |
000023b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4e  |               N|
000023c0  6f 6e 65 0a 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |one..-----------|
000023d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002410  2d 0a 20 20 20 20 20 20  20 0a 57 53 57 69 6d 70  |-.       .WSWimp|
00002420  54 6f 6f 6c 73 5f 47 65  74 49 63 6f 6e 45 6e 61  |Tools_GetIconEna|
00002430  62 6c 65 53 74 61 74 65  0a 2d 2d 2d 2d 2d 2d 2d  |bleState.-------|
00002440  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00002450  2d 2d 2d 2d 2d 2d 2d 0a  0a 54 68 69 73 20 63 61  |-------..This ca|
00002460  6c 6c 20 72 65 74 75 72  6e 73 20 74 68 65 20 65  |ll returns the e|
00002470  6e 61 62 6c 65 20 73 74  61 74 65 20 6f 66 20 74  |nable state of t|
00002480  68 65 20 73 70 65 63 69  66 69 65 64 20 69 63 6f  |he specified ico|
00002490  6e 2e 0a 0a 20 20 20 20  20 20 20 50 61 72 61 6d  |n...       Param|
000024a0  65 74 65 72 73 20 70 61  73 73 65 64 20 3a 0a 0a  |eters passed :..|
000024b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000024c0  20 20 52 30 20 20 20 20  2d 20 20 57 69 6e 64 6f  |  R0    -  Windo|
000024d0  77 20 68 61 6e 64 6c 65  20 6f 66 20 69 63 6f 6e  |w handle of icon|
000024e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000024f0  20 20 20 52 31 20 20 20  20 2d 20 20 49 63 6f 6e  |   R1    -  Icon|
00002500  20 6e 75 6d 62 65 72 0a  0a 20 20 20 20 20 20 20  | number..       |
00002510  20 20 20 20 20 20 20 20  20 20 20 49 66 20 52 33  |           If R3|
00002520  20 3d 20 77 69 6e 64 6f  77 20 68 61 6e 64 6c 65  | = window handle|
00002530  20 62 6c 6f 63 6b 20 63  72 65 61 74 65 64 20 62  | block created b|
00002540  79 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |y.              |
00002550  20 20 20 20 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |    WSWimpTools_|
00002560  4c 6f 61 64 54 65 6d 70  6c 61 74 65 20 74 68 65  |LoadTemplate the|
00002570  6e 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |n..             |
00002580  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 57 69  |     R0    -  Wi|
00002590  6e 64 6f 77 20 6e 61 6d  65 20 6f 72 20 6e 75 6d  |ndow name or num|
000025a0  62 65 72 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |ber..       Para|
000025b0  6d 65 74 65 72 73 20 72  65 74 75 72 6e 65 64 20  |meters returned |
000025c0  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |:..             |
000025d0  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 2d 31  |     R0    -  -1|
000025e0  20 69 66 20 65 6e 61 62  6c 65 64 0a 20 20 20 20  | if enabled.    |
000025f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002600  20 20 20 20 20 20 20 20  30 20 69 66 20 64 69 73  |        0 if dis|
00002610  61 62 6c 65 64 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |abled.----------|
00002620  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002660  2d 2d 0a 20 20 20 20 20  20 20 0a 57 53 57 69 6d  |--.       .WSWim|
00002670  70 54 6f 6f 6c 73 5f 53  65 74 49 63 6f 6e 54 65  |pTools_SetIconTe|
00002680  78 74 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |xt.-------------|
00002690  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 54 68 69 73  |----------..This|
000026a0  20 63 61 6c 6c 20 73 65  74 73 20 74 68 65 20 74  | call sets the t|
000026b0  65 78 74 20 73 74 72 69  6e 67 20 66 6f 72 20 74  |ext string for t|
000026c0  68 65 20 74 68 65 20 73  70 65 63 69 66 69 65 64  |he the specified|
000026d0  20 69 63 6f 6e 2e 0a 0a  20 20 20 20 20 20 20 50  | icon...       P|
000026e0  61 72 61 6d 65 74 65 72  73 20 70 61 73 73 65 64  |arameters passed|
000026f0  20 3a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  | :..            |
00002700  20 20 20 20 20 20 52 30  20 20 20 20 2d 20 20 57  |      R0    -  W|
00002710  69 6e 64 6f 77 20 68 61  6e 64 6c 65 20 6f 66 20  |indow handle of |
00002720  69 63 6f 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |icon.           |
00002730  20 20 20 20 20 20 20 52  31 20 20 20 20 2d 20 20  |       R1    -  |
00002740  49 63 6f 6e 20 6e 75 6d  62 65 72 0a 20 20 20 20  |Icon number.    |
00002750  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 32  |              R2|
00002760  20 20 20 20 2d 20 20 54  65 78 74 20 73 74 72 69  |    -  Text stri|
00002770  6e 67 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ng..            |
00002780  20 20 20 20 20 20 49 66  20 52 33 20 3d 20 77 69  |      If R3 = wi|
00002790  6e 64 6f 77 20 68 61 6e  64 6c 65 20 62 6c 6f 63  |ndow handle bloc|
000027a0  6b 20 63 72 65 61 74 65  64 20 62 79 0a 20 20 20  |k created by.   |
000027b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 57  |               W|
000027c0  53 57 69 6d 70 54 6f 6f  6c 73 5f 4c 6f 61 64 54  |SWimpTools_LoadT|
000027d0  65 6d 70 6c 61 74 65 20  74 68 65 6e 0a 0a 20 20  |emplate then..  |
000027e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000027f0  52 30 20 20 20 20 2d 20  20 57 69 6e 64 6f 77 20  |R0    -  Window |
00002800  6e 61 6d 65 20 6f 72 20  6e 75 6d 62 65 72 0a 0a  |name or number..|
00002810  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
00002820  73 20 72 65 74 75 72 6e  65 64 20 3a 0a 0a 20 20  |s returned :..  |
00002830  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002840  4e 6f 6e 65 0a 0a 20 20  20 20 20 20 20 45 72 72  |None..       Err|
00002850  6f 72 73 20 3a 0a 0a 20  20 20 20 20 20 20 20 20  |ors :..         |
00002860  20 20 20 20 20 20 20 20  20 54 65 78 74 20 6d 75  |         Text mu|
00002870  73 74 20 62 65 20 69 6e  64 69 72 65 63 74 65 64  |st be indirected|
00002880  20 61 6e 64 20 65 72 72  6f 72 20 6f 63 63 75 72  | and error occur|
00002890  73 20 69 66 20 69 74 20  69 73 6e 27 74 2e 20 20  |s if it isn't.  |
000028a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000028c0  20 20 20 20 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |    .-----------|
000028d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002910  2d 0a 20 20 20 20 20 20  20 0a 57 53 57 69 6d 70  |-.       .WSWimp|
00002920  54 6f 6f 6c 73 5f 47 65  74 49 63 6f 6e 54 65 78  |Tools_GetIconTex|
00002930  74 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |t.--------------|
00002940  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 54 68 69 73 20  |---------..This |
00002950  63 61 6c 6c 20 72 65 74  75 72 6e 73 20 74 68 65  |call returns the|
00002960  20 74 65 78 74 20 73 74  72 69 6e 67 20 6f 66 20  | text string of |
00002970  74 68 65 20 73 70 65 63  69 66 69 65 64 20 69 63  |the specified ic|
00002980  6f 6e 2e 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |on...       Para|
00002990  6d 65 74 65 72 73 20 70  61 73 73 65 64 20 3a 0a  |meters passed :.|
000029a0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000029b0  20 20 20 52 30 20 20 20  20 2d 20 20 57 69 6e 64  |   R0    -  Wind|
000029c0  6f 77 20 68 61 6e 64 6c  65 20 6f 66 20 69 63 6f  |ow handle of ico|
000029d0  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
000029e0  20 20 20 20 52 31 20 20  20 20 2d 20 20 49 63 6f  |    R1    -  Ico|
000029f0  6e 20 6e 75 6d 62 65 72  0a 0a 20 20 20 20 20 20  |n number..      |
00002a00  20 20 20 20 20 20 20 20  20 20 20 20 49 66 20 52  |            If R|
00002a10  33 20 3d 20 77 69 6e 64  6f 77 20 68 61 6e 64 6c  |3 = window handl|
00002a20  65 20 62 6c 6f 63 6b 20  63 72 65 61 74 65 64 20  |e block created |
00002a30  62 79 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |by.             |
00002a40  20 20 20 20 20 57 53 57  69 6d 70 54 6f 6f 6c 73  |     WSWimpTools|
00002a50  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 20 74 68  |_LoadTemplate th|
00002a60  65 6e 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |en..            |
00002a70  20 20 20 20 20 20 52 30  20 20 20 20 2d 20 20 57  |      R0    -  W|
00002a80  69 6e 64 6f 77 20 6e 61  6d 65 20 6f 72 20 6e 75  |indow name or nu|
00002a90  6d 62 65 72 0a 0a 20 20  20 20 20 20 20 50 61 72  |mber..       Par|
00002aa0  61 6d 65 74 65 72 73 20  72 65 74 75 72 6e 65 64  |ameters returned|
00002ab0  20 3a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  | :..            |
00002ac0  20 20 20 20 20 20 52 30  20 20 20 20 2d 20 20 54  |      R0    -  T|
00002ad0  65 78 74 20 73 74 72 69  6e 67 20 20 20 0a 0a 20  |ext string   .. |
00002ae0  20 20 20 20 20 20 45 72  72 6f 72 73 20 3a 0a 0a  |      Errors :..|
00002af0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b00  20 20 54 65 78 74 20 6d  75 73 74 20 62 65 20 69  |  Text must be i|
00002b10  6e 64 69 72 65 63 74 65  64 20 61 6e 64 20 65 72  |ndirected and er|
00002b20  72 6f 72 20 6f 63 63 75  72 73 20 69 66 20 69 74  |ror occurs if it|
00002b30  20 69 73 6e 27 74 2e 20  20 20 20 20 20 20 20 20  | isn't.         |
00002b40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002b50  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 2d 2d  |             .--|
00002b60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002ba0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 20 20 20 20 20  |----------.     |
00002bb0  20 20 0a 57 53 57 69 6d  70 54 6f 6f 6c 73 5f 53  |  .WSWimpTools_S|
00002bc0  65 74 49 63 6f 6e 56 61  6c 69 64 61 74 69 6f 6e  |etIconValidation|
00002bd0  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00002be0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |--------------..|
00002bf0  54 68 69 73 20 63 61 6c  6c 20 73 65 74 73 20 74  |This call sets t|
00002c00  68 65 20 76 61 6c 69 64  61 74 69 6f 6e 20 73 74  |he validation st|
00002c10  72 69 6e 67 20 66 6f 72  20 74 68 65 20 74 68 65  |ring for the the|
00002c20  20 73 70 65 63 69 66 69  65 64 20 69 63 6f 6e 2e  | specified icon.|
00002c30  0a 0a 20 20 20 20 20 20  20 50 61 72 61 6d 65 74  |..       Paramet|
00002c40  65 72 73 20 70 61 73 73  65 64 20 3a 0a 0a 20 20  |ers passed :..  |
00002c50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c60  52 30 20 20 20 20 2d 20  20 57 69 6e 64 6f 77 20  |R0    -  Window |
00002c70  68 61 6e 64 6c 65 20 6f  66 20 69 63 6f 6e 0a 20  |handle of icon. |
00002c80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002c90  20 52 31 20 20 20 20 2d  20 20 49 63 6f 6e 20 6e  | R1    -  Icon n|
00002ca0  75 6d 62 65 72 0a 20 20  20 20 20 20 20 20 20 20  |umber.          |
00002cb0  20 20 20 20 20 20 20 20  52 32 20 20 20 20 2d 20  |        R2    - |
00002cc0  20 56 61 6c 69 64 61 74  69 6f 6e 20 73 74 72 69  | Validation stri|
00002cd0  6e 67 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ng..            |
00002ce0  20 20 20 20 20 20 49 66  20 52 33 20 3d 20 77 69  |      If R3 = wi|
00002cf0  6e 64 6f 77 20 68 61 6e  64 6c 65 20 62 6c 6f 63  |ndow handle bloc|
00002d00  6b 20 63 72 65 61 74 65  64 20 62 79 0a 20 20 20  |k created by.   |
00002d10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 57  |               W|
00002d20  53 57 69 6d 70 54 6f 6f  6c 73 5f 4c 6f 61 64 54  |SWimpTools_LoadT|
00002d30  65 6d 70 6c 61 74 65 20  74 68 65 6e 0a 0a 20 20  |emplate then..  |
00002d40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002d50  52 30 20 20 20 20 2d 20  20 57 69 6e 64 6f 77 20  |R0    -  Window |
00002d60  6e 61 6d 65 20 6f 72 20  6e 75 6d 62 65 72 0a 0a  |name or number..|
00002d70  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
00002d80  73 20 72 65 74 75 72 6e  65 64 20 3a 0a 0a 20 20  |s returned :..  |
00002d90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002da0  4e 6f 6e 65 0a 0a 20 20  20 20 20 20 20 45 72 72  |None..       Err|
00002db0  6f 72 73 20 3a 0a 0a 20  20 20 20 20 20 20 20 20  |ors :..         |
00002dc0  20 20 20 20 20 20 20 20  20 54 65 78 74 20 6d 75  |         Text mu|
00002dd0  73 74 20 62 65 20 69 6e  64 69 72 65 63 74 65 64  |st be indirected|
00002de0  20 61 6e 64 20 65 72 72  6f 72 20 6f 63 63 75 72  | and error occur|
00002df0  73 20 69 66 20 69 74 20  69 73 6e 27 74 2e 20 20  |s if it isn't.  |
00002e00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00002e20  20 20 20 20 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |    .-----------|
00002e30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002e70  2d 0a 20 20 20 20 20 20  20 0a 57 53 57 69 6d 70  |-.       .WSWimp|
00002e80  54 6f 6f 6c 73 5f 47 65  74 49 63 6f 6e 56 61 6c  |Tools_GetIconVal|
00002e90  69 64 61 74 69 6f 6e 0a  2d 2d 2d 2d 2d 2d 2d 2d  |idation.--------|
00002ea0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00002eb0  2d 2d 2d 2d 2d 0a 0a 54  68 69 73 20 63 61 6c 6c  |-----..This call|
00002ec0  20 72 65 74 75 72 6e 73  20 74 68 65 20 76 61 6c  | returns the val|
00002ed0  69 64 61 74 69 6f 6e 20  73 74 72 69 6e 67 20 6f  |idation string o|
00002ee0  66 20 74 68 65 20 73 70  65 63 69 66 69 65 64 20  |f the specified |
00002ef0  69 63 6f 6e 2e 0a 0a 20  20 20 20 20 20 20 50 61  |icon...       Pa|
00002f00  72 61 6d 65 74 65 72 73  20 70 61 73 73 65 64 20  |rameters passed |
00002f10  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |:..             |
00002f20  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 57 69  |     R0    -  Wi|
00002f30  6e 64 6f 77 20 68 61 6e  64 6c 65 20 6f 66 20 69  |ndow handle of i|
00002f40  63 6f 6e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |con.            |
00002f50  20 20 20 20 20 20 52 31  20 20 20 20 2d 20 20 49  |      R1    -  I|
00002f60  63 6f 6e 20 6e 75 6d 62  65 72 0a 0a 20 20 20 20  |con number..    |
00002f70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 49 66  |              If|
00002f80  20 52 33 20 3d 20 77 69  6e 64 6f 77 20 68 61 6e  | R3 = window han|
00002f90  64 6c 65 20 62 6c 6f 63  6b 20 63 72 65 61 74 65  |dle block create|
00002fa0  64 20 62 79 0a 20 20 20  20 20 20 20 20 20 20 20  |d by.           |
00002fb0  20 20 20 20 20 20 20 57  53 57 69 6d 70 54 6f 6f  |       WSWimpToo|
00002fc0  6c 73 5f 4c 6f 61 64 54  65 6d 70 6c 61 74 65 20  |ls_LoadTemplate |
00002fd0  74 68 65 6e 0a 0a 20 20  20 20 20 20 20 20 20 20  |then..          |
00002fe0  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00002ff0  20 57 69 6e 64 6f 77 20  6e 61 6d 65 20 6f 72 20  | Window name or |
00003000  6e 75 6d 62 65 72 0a 0a  20 20 20 20 20 20 20 50  |number..       P|
00003010  61 72 61 6d 65 74 65 72  73 20 72 65 74 75 72 6e  |arameters return|
00003020  65 64 20 3a 0a 0a 20 20  20 20 20 20 20 20 20 20  |ed :..          |
00003030  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00003040  20 56 61 6c 69 64 61 74  69 6f 6e 20 73 74 72 69  | Validation stri|
00003050  6e 67 20 20 20 0a 0a 20  20 20 20 20 20 20 45 72  |ng   ..       Er|
00003060  72 6f 72 73 20 3a 0a 0a  20 20 20 20 20 20 20 20  |rors :..        |
00003070  20 20 20 20 20 20 20 20  20 20 54 65 78 74 20 6d  |          Text m|
00003080  75 73 74 20 62 65 20 69  6e 64 69 72 65 63 74 65  |ust be indirecte|
00003090  64 20 61 6e 64 20 65 72  72 6f 72 20 6f 63 63 75  |d and error occu|
000030a0  72 73 20 69 66 20 69 74  20 69 73 6e 27 74 2e 20  |rs if it isn't. |
000030b0  20 20 20 20 20 0a 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |     ..---------|
000030c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003100  2d 2d 2d 0a 20 20 20 20  20 20 20 0a 57 53 57 69  |---.       .WSWi|
00003110  6d 70 54 6f 6f 6c 73 5f  53 65 74 57 69 6e 64 6f  |mpTools_SetWindo|
00003120  77 54 69 74 6c 65 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |wTitle.---------|
00003130  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00003140  2d 0a 0a 54 68 69 73 20  63 61 6c 6c 20 73 65 74  |-..This call set|
00003150  73 20 74 68 65 20 74 65  78 74 20 73 74 72 69 6e  |s the text strin|
00003160  67 20 66 6f 72 20 74 68  65 20 74 68 65 20 73 70  |g for the the sp|
00003170  65 63 69 66 69 65 64 20  77 69 6e 64 6f 77 2e 0a  |ecified window..|
00003180  0a 20 20 20 20 20 20 20  50 61 72 61 6d 65 74 65  |.       Paramete|
00003190  72 73 20 70 61 73 73 65  64 20 3a 0a 0a 20 20 20  |rs passed :..   |
000031a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
000031b0  30 20 20 20 20 2d 20 20  57 69 6e 64 6f 77 20 68  |0    -  Window h|
000031c0  61 6e 64 6c 65 0a 20 20  20 20 20 20 20 20 20 20  |andle.          |
000031d0  20 20 20 20 20 20 20 20  52 31 20 20 20 20 2d 20  |        R1    - |
000031e0  20 54 65 78 74 20 73 74  72 69 6e 67 0a 0a 20 20  | Text string..  |
000031f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003200  49 66 20 52 33 20 3d 20  77 69 6e 64 6f 77 20 68  |If R3 = window h|
00003210  61 6e 64 6c 65 20 62 6c  6f 63 6b 20 63 72 65 61  |andle block crea|
00003220  74 65 64 20 62 79 0a 20  20 20 20 20 20 20 20 20  |ted by.         |
00003230  20 20 20 20 20 20 20 20  20 57 53 57 69 6d 70 54  |         WSWimpT|
00003240  6f 6f 6c 73 5f 4c 6f 61  64 54 65 6d 70 6c 61 74  |ools_LoadTemplat|
00003250  65 20 74 68 65 6e 0a 0a  20 20 20 20 20 20 20 20  |e then..        |
00003260  20 20 20 20 20 20 20 20  20 20 52 30 20 20 20 20  |          R0    |
00003270  2d 20 20 57 69 6e 64 6f  77 20 6e 61 6d 65 20 6f  |-  Window name o|
00003280  72 20 6e 75 6d 62 65 72  0a 0a 20 20 20 20 20 20  |r number..      |
00003290  20 50 61 72 61 6d 65 74  65 72 73 20 72 65 74 75  | Parameters retu|
000032a0  72 6e 65 64 20 3a 0a 0a  20 20 20 20 20 20 20 20  |rned :..        |
000032b0  20 20 20 20 20 20 20 20  20 20 4e 6f 6e 65 0a 0a  |          None..|
000032c0  20 20 20 20 20 20 20 45  72 72 6f 72 73 20 3a 0a  |       Errors :.|
000032d0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000032e0  20 20 20 54 65 78 74 20  6d 75 73 74 20 62 65 20  |   Text must be |
000032f0  69 6e 64 69 72 65 63 74  65 64 20 61 6e 64 20 65  |indirected and e|
00003300  72 72 6f 72 20 6f 63 63  75 72 73 20 69 66 20 69  |rror occurs if i|
00003310  74 20 69 73 6e 27 74 2e  20 20 20 20 20 20 0a 0a  |t isn't.      ..|
00003320  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003360  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 20 20 20  |------------.   |
00003370  20 20 20 20 0a 57 53 57  69 6d 70 54 6f 6f 6c 73  |    .WSWimpTools|
00003380  5f 47 65 74 57 69 6e 64  6f 77 54 69 74 6c 65 0a  |_GetWindowTitle.|
00003390  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000033a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 54 68 69 73  |----------..This|
000033b0  20 63 61 6c 6c 20 67 65  74 73 20 74 68 65 20 74  | call gets the t|
000033c0  65 78 74 20 73 74 72 69  6e 67 20 66 6f 72 20 74  |ext string for t|
000033d0  68 65 20 74 68 65 20 73  70 65 63 69 66 69 65 64  |he the specified|
000033e0  20 77 69 6e 64 6f 77 2e  0a 0a 20 20 20 20 20 20  | window...      |
000033f0  20 50 61 72 61 6d 65 74  65 72 73 20 70 61 73 73  | Parameters pass|
00003400  65 64 20 3a 0a 0a 20 20  20 20 20 20 20 20 20 20  |ed :..          |
00003410  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00003420  20 57 69 6e 64 6f 77 20  68 61 6e 64 6c 65 0a 0a  | Window handle..|
00003430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003440  20 20 49 66 20 52 33 20  3d 20 77 69 6e 64 6f 77  |  If R3 = window|
00003450  20 68 61 6e 64 6c 65 20  62 6c 6f 63 6b 20 63 72  | handle block cr|
00003460  65 61 74 65 64 20 62 79  0a 20 20 20 20 20 20 20  |eated by.       |
00003470  20 20 20 20 20 20 20 20  20 20 20 57 53 57 69 6d  |           WSWim|
00003480  70 54 6f 6f 6c 73 5f 4c  6f 61 64 54 65 6d 70 6c  |pTools_LoadTempl|
00003490  61 74 65 20 74 68 65 6e  0a 0a 20 20 20 20 20 20  |ate then..      |
000034a0  20 20 20 20 20 20 20 20  20 20 20 20 52 30 20 20  |            R0  |
000034b0  20 20 2d 20 20 57 69 6e  64 6f 77 20 6e 61 6d 65  |  -  Window name|
000034c0  20 6f 72 20 6e 75 6d 62  65 72 0a 0a 20 20 20 20  | or number..    |
000034d0  20 20 20 50 61 72 61 6d  65 74 65 72 73 20 72 65  |   Parameters re|
000034e0  74 75 72 6e 65 64 20 3a  0a 0a 20 20 20 20 20 20  |turned :..      |
000034f0  20 20 20 20 20 20 20 20  20 20 20 20 52 31 20 20  |            R1  |
00003500  20 20 2d 20 20 57 69 6e  64 6f 77 20 74 69 74 6c  |  -  Window titl|
00003510  65 0a 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |e..-------------|
00003520  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003550  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00003560  0a 57 53 57 69 6d 70 54  6f 6f 6c 73 5f 55 70 64  |.WSWimpTools_Upd|
00003570  61 74 65 57 69 6e 64 6f  77 0a 2d 2d 2d 2d 2d 2d  |ateWindow.------|
00003580  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00003590  2d 2d 0a 0a 54 68 69 73  20 63 61 6c 6c 20 6f 70  |--..This call op|
000035a0  65 6e 73 20 75 70 64 61  74 65 73 20 74 68 65 20  |ens updates the |
000035b0  73 70 65 63 69 66 69 65  64 20 77 69 6e 64 6f 77  |specified window|
000035c0  20 72 65 70 6c 79 69 6e  67 20 77 69 74 68 20 57  | replying with W|
000035d0  69 6d 70 5f 52 65 64 72  61 77 57 69 6e 64 6f 77  |imp_RedrawWindow|
000035e0  20 61 73 20 6e 65 63 65  73 73 61 72 79 2e 20 20  | as necessary.  |
000035f0  54 68 65 20 63 61 6c 6c  20 75 70 64 61 74 65 73  |The call updates|
00003600  20 61 6c 6c 20 6f 66 20  74 68 65 20 77 69 6e 64  | all of the wind|
00003610  6f 77 20 69 6e 63 6c 75  64 69 6e 67 20 73 63 72  |ow including scr|
00003620  6f 6c 6c 20 26 20 74 69  74 6c 65 20 62 61 72 73  |oll & title bars|
00003630  20 61 6e 64 20 73 6f 20  73 68 6f 75 6c 64 20 62  | and so should b|
00003640  65 20 75 73 65 64 20 61  66 74 65 72 20 57 53 57  |e used after WSW|
00003650  69 6d 70 54 6f 6f 6c 73  5f 53 65 74 57 69 6e 64  |impTools_SetWind|
00003660  6f 77 54 69 74 6c 65 2e  0a 0a 20 20 20 20 20 20  |owTitle...      |
00003670  20 50 61 72 61 6d 65 74  65 72 73 20 70 61 73 73  | Parameters pass|
00003680  65 64 20 3a 0a 0a 20 20  20 20 20 20 20 20 20 20  |ed :..          |
00003690  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
000036a0  20 57 69 6e 64 6f 77 20  68 61 6e 64 6c 65 20 74  | Window handle t|
000036b0  6f 20 62 65 20 6f 70 65  6e 65 64 0a 0a 20 20 20  |o be opened..   |
000036c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 49  |               I|
000036d0  66 20 52 31 20 3d 20 77  69 6e 64 6f 77 20 68 61  |f R1 = window ha|
000036e0  6e 64 6c 65 20 62 6c 6f  63 6b 20 63 72 65 61 74  |ndle block creat|
000036f0  65 64 20 62 79 0a 20 20  20 20 20 20 20 20 20 20  |ed by.          |
00003700  20 20 20 20 20 20 20 20  57 53 57 69 6d 70 54 6f  |        WSWimpTo|
00003710  6f 6c 73 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |ols_LoadTemplate|
00003720  20 74 68 65 6e 0a 0a 20  20 20 20 20 20 20 20 20  | then..         |
00003730  20 20 20 20 20 20 20 20  20 52 30 20 20 20 20 2d  |         R0    -|
00003740  20 20 57 69 6e 64 6f 77  20 6e 61 6d 65 20 6f 72  |  Window name or|
00003750  20 6e 75 6d 62 65 72 0a  0a 20 20 20 20 20 20 20  | number..       |
00003760  50 61 72 61 6d 65 74 65  72 73 20 72 65 74 75 72  |Parameters retur|
00003770  6e 65 64 20 3a 0a 0a 20  20 20 20 20 20 20 20 20  |ned :..         |
00003780  20 20 20 20 20 20 20 20  20 4e 6f 6e 65 0a 2d 2d  |         None.--|
00003790  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000037d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 20 20 20 20 20  |----------.     |
000037e0  20 20 0a 57 53 57 69 6d  70 54 6f 6f 6c 73 5f 4d  |  .WSWimpTools_M|
000037f0  61 6b 65 4d 65 6e 75 48  65 61 64 65 72 0a 2d 2d  |akeMenuHeader.--|
00003800  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00003810  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 54 68 69 73 20 63  |--------..This c|
00003820  61 6c 6c 20 63 72 65 61  74 65 73 20 74 68 65 20  |all creates the |
00003830  68 65 61 64 65 72 20 70  61 72 74 20 6f 66 20 61  |header part of a|
00003840  20 6d 65 6e 75 20 69 6e  20 74 68 65 20 73 74 61  | menu in the sta|
00003850  6e 64 61 72 64 20 52 69  73 63 4f 73 20 63 6f 6c  |ndard RiscOs col|
00003860  6f 75 72 0a 73 63 68 65  6d 65 20 61 6e 64 20 73  |our.scheme and s|
00003870  69 7a 65 73 20 77 69 74  68 20 74 68 65 20 74 69  |izes with the ti|
00003880  74 6c 65 20 67 69 76 65  6e 20 62 79 20 52 31 20  |tle given by R1 |
00003890  69 6e 20 74 68 65 20 62  6c 6f 63 6b 20 70 6f 69  |in the block poi|
000038a0  6e 74 65 64 20 74 6f 20  62 79 20 52 30 0a 6f 66  |nted to by R0.of|
000038b0  20 74 68 65 20 77 69 64  74 68 20 52 32 2e 20 20  | the width R2.  |
000038c0  54 68 65 20 70 6f 73 69  74 69 6f 6e 20 6f 66 20  |The position of |
000038d0  74 68 65 20 66 69 72 73  74 20 6d 65 6e 75 20 69  |the first menu i|
000038e0  74 65 6d 20 69 73 20 72  65 74 75 72 6e 20 69 6e  |tem is return in|
000038f0  20 52 30 20 61 6e 64 0a  74 68 69 73 20 63 61 6e  | R0 and.this can|
00003900  20 62 65 20 70 61 73 73  65 64 20 64 69 72 65 63  | be passed direc|
00003910  74 20 74 6f 20 57 53 57  69 6d 70 54 6f 6f 6c 73  |t to WSWimpTools|
00003920  5f 4d 61 6b 65 4d 65 6e  75 54 65 78 74 49 74 65  |_MakeMenuTextIte|
00003930  6d 2e 0a 0a 20 20 20 20  20 20 20 50 61 72 61 6d  |m...       Param|
00003940  65 74 65 72 73 20 70 61  73 73 65 64 20 3a 0a 0a  |eters passed :..|
00003950  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003960  20 20 52 30 20 20 20 20  2d 20 20 42 6c 6f 63 6b  |  R0    -  Block|
00003970  20 74 6f 20 73 74 6f 72  65 20 6d 65 6e 75 0a 20  | to store menu. |
00003980  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003990  20 52 31 20 20 20 20 2d  20 20 54 65 78 74 20 73  | R1    -  Text s|
000039a0  74 72 69 6e 67 20 66 6f  72 20 6d 65 6e 75 20 74  |tring for menu t|
000039b0  69 74 6c 65 20 28 6d 61  78 20 31 31 20 63 68 61  |itle (max 11 cha|
000039c0  72 73 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |rs).            |
000039d0  20 20 20 20 20 20 52 32  20 20 20 20 2d 20 20 57  |      R2    -  W|
000039e0  69 64 74 68 20 6f 66 20  6d 65 6e 75 20 69 6e 20  |idth of menu in |
000039f0  4f 53 20 75 6e 69 74 73  0a 0a 20 20 20 20 20 20  |OS units..      |
00003a00  20 50 61 72 61 6d 65 74  65 72 73 20 72 65 74 75  | Parameters retu|
00003a10  72 6e 65 64 20 3a 0a 0a  20 20 20 20 20 20 20 20  |rned :..        |
00003a20  20 20 20 20 20 20 20 20  20 20 52 30 20 20 20 20  |          R0    |
00003a30  2d 20 20 50 6f 69 6e 74  65 72 20 74 6f 20 70 6f  |-  Pointer to po|
00003a40  73 69 74 69 6f 6e 20 69  6e 20 6d 65 6e 75 20 62  |sition in menu b|
00003a50  6c 6f 63 6b 20 6f 66 20  77 68 65 72 65 20 66 69  |lock of where fi|
00003a60  72 73 74 0a 20 20 20 20  20 20 20 20 20 20 20 20  |rst.            |
00003a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6d  |               m|
00003a80  65 6e 75 20 69 74 65 6d  20 73 68 6f 75 6c 64 20  |enu item should |
00003a90  62 65 20 63 72 65 61 74  65 64 2e 20 0a 0a 2d 2d  |be created. ..--|
00003aa0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003ae0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 20 20 20 20 20  |----------.     |
00003af0  20 20 0a 57 53 57 69 6d  70 54 6f 6f 6c 73 5f 4d  |  .WSWimpTools_M|
00003b00  61 6b 65 4d 65 6e 75 49  74 65 6d 0a 2d 2d 2d 2d  |akeMenuItem.----|
00003b10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00003b20  2d 2d 2d 2d 0a 0a 54 68  69 73 20 63 61 6c 6c 20  |----..This call |
00003b30  63 72 65 61 74 65 73 20  61 20 6d 65 6e 75 20 69  |creates a menu i|
00003b40  74 65 6d 2e 20 20 54 68  65 20 69 74 65 6d 73 20  |tem.  The items |
00003b50  6d 61 72 6b 65 64 20 77  69 74 68 20 61 20 2a 20  |marked with a * |
00003b60  61 72 65 20 6f 70 74 69  6f 6e 61 6c 20 61 6e 64  |are optional and|
00003b70  20 69 66 0a 73 65 74 20  74 6f 20 7a 65 72 6f 20  | if.set to zero |
00003b80  74 68 65 79 20 61 72 65  20 69 67 6e 6f 72 65 64  |they are ignored|
00003b90  2e 0a 0a 0a 20 20 20 20  20 20 20 50 61 72 61 6d  |....       Param|
00003ba0  65 74 65 72 73 20 70 61  73 73 65 64 20 3a 0a 0a  |eters passed :..|
00003bb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003bc0  20 20 52 30 20 20 20 20  2d 20 20 42 6c 6f 63 6b  |  R0    -  Block|
00003bd0  20 74 6f 20 73 74 6f 72  65 20 6d 65 6e 75 20 64  | to store menu d|
00003be0  61 74 61 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ata.            |
00003bf0  20 20 20 20 20 20 52 31  20 20 20 20 2d 20 20 54  |      R1    -  T|
00003c00  65 78 74 20 73 74 72 69  6e 67 20 66 6f 72 20 6d  |ext string for m|
00003c10  65 6e 75 20 69 74 65 6d  2e 20 20 28 49 66 20 52  |enu item.  (If R|
00003c20  33 20 69 73 20 7a 65 72  6f 20 74 68 65 6e 0a 20  |3 is zero then. |
00003c30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003c40  20 20 20 20 20 20 20 20  20 20 73 74 72 69 6e 67  |          string|
00003c50  20 69 73 20 74 72 75 6e  63 61 74 65 64 20 74 6f  | is truncated to|
00003c60  20 31 31 20 63 68 61 72  61 63 74 65 72 73 29 0a  | 11 characters).|
00003c70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2a 20  |              * |
00003c80  20 20 52 32 20 20 20 20  2d 20 20 4d 65 6e 75 20  |  R2    -  Menu |
00003c90  69 74 65 6d 20 6f 70 74  69 6f 6e 73 0a 20 20 20  |item options.   |
00003ca0  20 20 20 20 20 20 20 20  20 20 20 2a 20 20 20 52  |           *   R|
00003cb0  33 20 20 20 20 2d 20 20  53 74 72 69 6e 67 20 73  |3    -  String s|
00003cc0  74 6f 72 61 67 65 0a 20  20 20 20 20 20 20 20 20  |torage.         |
00003cd0  20 20 20 20 20 2a 20 20  20 52 34 20 20 20 20 2d  |     *   R4    -|
00003ce0  20 20 53 69 7a 65 20 6f  66 20 73 74 6f 72 61 67  |  Size of storag|
00003cf0  65 20 73 70 61 63 65 20  69 66 20 77 72 69 74 65  |e space if write|
00003d00  61 62 6c 65 2e 20 20 28  49 66 20 6e 6f 74 20 7a  |able.  (If not z|
00003d10  65 72 6f 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ero.            |
00003d20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  |               S|
00003d30  57 49 20 63 72 65 61 74  65 73 20 61 20 77 72 69  |WI creates a wri|
00003d40  74 65 61 62 6c 65 20 6d  65 6e 75 20 69 74 65 6d  |teable menu item|
00003d50  29 0a 0a 20 20 20 20 20  20 20 50 61 72 61 6d 65  |)..       Parame|
00003d60  74 65 72 73 20 72 65 74  75 72 6e 65 64 20 3a 0a  |ters returned :.|
00003d70  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00003d80  20 20 20 52 30 20 20 20  20 2d 20 20 50 6f 69 6e  |   R0    -  Poin|
00003d90  74 65 72 20 74 6f 20 70  6f 73 69 74 69 6f 6e 20  |ter to position |
00003da0  69 6e 20 6d 65 6e 75 20  62 6c 6f 63 6b 20 74 6f  |in menu block to|
00003db0  20 77 68 65 72 65 20 74  68 65 0a 20 20 20 20 20  | where the.     |
00003dc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003dd0  20 20 20 20 20 20 6e 65  78 74 20 6d 65 6e 75 20  |      next menu |
00003de0  69 74 65 6d 20 73 68 6f  75 6c 64 20 62 65 20 63  |item should be c|
00003df0  72 65 61 74 65 64 2e 20  28 66 6f 72 20 73 75 62  |reated. (for sub|
00003e00  73 65 71 75 65 6e 74 0a  20 20 20 20 20 20 20 20  |sequent.        |
00003e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003e20  20 20 20 63 61 6c 6c 73  20 6f 66 20 74 68 69 73  |   calls of this|
00003e30  20 63 61 6c 6c 20 61 6e  64 20 74 68 65 20 66 6f  | call and the fo|
00003e40  6c 6c 6f 77 69 6e 67 20  6f 6e 65 29 0a 0a 20 20  |llowing one)..  |
00003e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003e60  52 33 20 20 20 20 2d 20  20 50 6f 69 6e 74 65 72  |R3    -  Pointer|
00003e70  20 74 6f 20 6e 65 78 74  20 70 6f 73 69 74 69 6f  | to next positio|
00003e80  6e 20 69 6e 20 73 74 72  69 6e 67 20 62 6c 6f 63  |n in string bloc|
00003e90  6b 0a 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |k..-------------|
00003ea0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003ed0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00003ee0  20 20 20 20 20 20 20 0a  57 53 57 69 6d 70 54 6f  |       .WSWimpTo|
00003ef0  6f 6c 73 5f 53 65 74 4d  65 6e 75 49 74 65 6d 54  |ols_SetMenuItemT|
00003f00  65 78 74 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ext.------------|
00003f10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00003f20  0a 54 68 69 73 20 63 61  6c 6c 20 73 65 74 73 20  |.This call sets |
00003f30  74 68 65 20 74 65 78 74  20 6f 66 20 6d 65 6e 75  |the text of menu|
00003f40  20 69 74 65 6d 20 6e 75  6d 62 65 72 20 52 31 20  | item number R1 |
00003f50  66 72 6f 6d 20 74 68 65  20 6d 65 6e 75 20 62 6c  |from the menu bl|
00003f60  6f 63 6b 0a 70 6f 69 6e  74 65 64 20 74 6f 20 62  |ock.pointed to b|
00003f70  79 20 52 30 2e 20 20 54  68 65 20 73 74 72 69 6e  |y R0.  The strin|
00003f80  67 20 69 73 20 74 72 75  6e 63 61 74 65 64 20 69  |g is truncated i|
00003f90  66 20 6c 6f 6e 67 65 72  20 74 68 61 6e 20 74 68  |f longer than th|
00003fa0  65 20 69 6e 64 69 72 65  63 74 65 64 0a 73 70 61  |e indirected.spa|
00003fb0  63 65 20 61 6c 6c 6f 63  61 74 65 64 20 69 6e 20  |ce allocated in |
00003fc0  74 68 65 20 6d 65 6e 75  20 64 65 66 69 6e 69 74  |the menu definit|
00003fd0  69 6f 6e 2e 0a 0a 0a 20  20 20 20 20 20 20 50 61  |ion....       Pa|
00003fe0  72 61 6d 65 74 65 72 73  20 70 61 73 73 65 64 20  |rameters passed |
00003ff0  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |:..             |
00004000  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 42 6c  |     R0    -  Bl|
00004010  6f 63 6b 20 6f 66 20 6d  65 6e 75 20 64 61 74 61  |ock of menu data|
00004020  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004030  20 20 20 52 31 20 20 20  20 2d 20 20 4d 65 6e 75  |   R1    -  Menu|
00004040  20 69 74 65 6d 20 6e 75  6d 62 65 72 20 28 63 6f  | item number (co|
00004050  75 6e 74 69 6e 67 20 66  72 6f 6d 20 30 29 0a 20  |unting from 0). |
00004060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004070  20 52 32 20 20 20 20 2d  20 20 54 65 78 74 20 73  | R2    -  Text s|
00004080  74 72 69 6e 67 0a 0a 41  6e 20 65 72 72 6f 72 20  |tring..An error |
00004090  69 73 20 72 65 74 75 72  6e 65 64 20 69 66 20 74  |is returned if t|
000040a0  68 65 20 73 74 72 69 6e  67 20 69 73 20 6e 6f 74  |he string is not|
000040b0  20 69 6e 64 69 72 65 63  74 65 64 0a 0a 2d 2d 2d  | indirected..---|
000040c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004100  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 20 20 20 20 20 20  |---------.      |
00004110  20 0a 57 53 57 69 6d 70  54 6f 6f 6c 73 5f 47 65  | .WSWimpTools_Ge|
00004120  74 4d 65 6e 75 49 74 65  6d 54 65 78 74 0a 2d 2d  |tMenuItemText.--|
00004130  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00004140  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 54 68 69 73 20  |---------..This |
00004150  63 61 6c 6c 20 72 65 74  75 72 6e 73 20 74 68 65  |call returns the|
00004160  20 74 65 78 74 20 6f 66  20 6d 65 6e 75 20 69 74  | text of menu it|
00004170  65 6d 20 6e 75 6d 62 65  72 20 52 31 20 66 72 6f  |em number R1 fro|
00004180  6d 20 74 68 65 20 6d 65  6e 75 20 62 6c 6f 63 6b  |m the menu block|
00004190  0a 70 6f 69 6e 74 65 64  20 74 6f 20 62 79 20 52  |.pointed to by R|
000041a0  30 2e 0a 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |0....       Para|
000041b0  6d 65 74 65 72 73 20 70  61 73 73 65 64 20 3a 0a  |meters passed :.|
000041c0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000041d0  20 20 20 52 30 20 20 20  20 2d 20 20 42 6c 6f 63  |   R0    -  Bloc|
000041e0  6b 20 6f 66 20 6d 65 6e  75 20 64 61 74 61 0a 20  |k of menu data. |
000041f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004200  20 52 31 20 20 20 20 2d  20 20 4d 65 6e 75 20 69  | R1    -  Menu i|
00004210  74 65 6d 20 6e 75 6d 62  65 72 20 28 63 6f 75 6e  |tem number (coun|
00004220  74 69 6e 67 20 66 72 6f  6d 20 30 29 0a 0a 2d 2d  |ting from 0)..--|
00004230  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004270  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 20 20 20 20 20  |----------.     |
00004280  20 20 0a 57 53 57 69 6d  70 54 6f 6f 6c 73 5f 4d  |  .WSWimpTools_M|
00004290  61 6b 65 4d 65 6e 75 49  74 65 6d 4c 61 73 74 0a  |akeMenuItemLast.|
000042a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000042b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 54 68  |------------..Th|
000042c0  69 73 20 63 61 6c 6c 20  6d 61 6b 65 73 20 74 68  |is call makes th|
000042d0  65 20 6d 65 6e 75 20 69  74 65 6d 20 74 68 65 20  |e menu item the |
000042e0  6c 61 73 74 20 6d 65 6e  75 20 69 74 65 6d 20 69  |last menu item i|
000042f0  6e 20 74 68 65 20 6d 65  6e 75 2c 20 6f 72 20 63  |n the menu, or c|
00004300  6c 65 61 72 73 20 69 74  0a 66 72 6f 6d 20 62 65  |lears it.from be|
00004310  69 6e 67 20 74 68 65 20  6c 61 73 74 20 6d 65 6e  |ing the last men|
00004320  75 20 69 74 65 6d 20 64  65 70 65 6e 64 69 6e 67  |u item depending|
00004330  20 75 70 6f 6e 20 52 32  0a 0a 0a 20 20 20 20 20  | upon R2...     |
00004340  20 20 50 61 72 61 6d 65  74 65 72 73 20 70 61 73  |  Parameters pas|
00004350  73 65 64 20 3a 0a 0a 20  20 20 20 20 20 20 20 20  |sed :..         |
00004360  20 20 20 20 20 20 20 20  20 52 30 20 20 20 20 2d  |         R0    -|
00004370  20 20 42 6c 6f 63 6b 20  6f 66 20 6d 65 6e 75 20  |  Block of menu |
00004380  64 61 74 61 0a 20 20 20  20 20 20 20 20 20 20 20  |data.           |
00004390  20 20 20 20 20 20 20 52  31 20 20 20 20 2d 20 20  |       R1    -  |
000043a0  4d 65 6e 75 20 69 74 65  6d 20 6e 75 6d 62 65 72  |Menu item number|
000043b0  20 28 63 6f 75 6e 74 69  6e 67 20 66 72 6f 6d 20  | (counting from |
000043c0  30 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |0).             |
000043d0  20 20 20 20 20 52 32 20  20 20 20 2d 20 20 2d 31  |     R2    -  -1|
000043e0  20 20 20 6d 61 6b 65 20  6d 65 6e 75 20 69 74 65  |   make menu ite|
000043f0  6d 20 74 68 65 20 6c 61  73 74 20 69 74 65 6d 0a  |m the last item.|
00004400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004410  20 20 20 20 20 20 20 20  20 20 20 20 30 20 20 20  |            0   |
00004420  63 6c 65 61 72 20 69 74  20 66 72 6f 6d 20 62 65  |clear it from be|
00004430  69 6e 67 20 6c 61 73 74  20 69 74 65 6d 0a 0a 2d  |ing last item..-|
00004440  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004480  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 20 20 20 20  |-----------.    |
00004490  20 20 20 0a 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |   .WSWimpTools_|
000044a0  53 65 74 4d 65 6e 75 49  74 65 6d 54 69 63 6b 0a  |SetMenuItemTick.|
000044b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000044c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 54 68 69  |-----------..Thi|
000044d0  73 20 63 61 6c 6c 20 70  6c 61 63 65 73 20 6f 72  |s call places or|
000044e0  20 72 65 6d 6f 76 65 73  20 61 20 74 69 63 6b 20  | removes a tick |
000044f0  66 72 6f 6d 20 74 68 65  20 6d 65 6e 75 20 69 74  |from the menu it|
00004500  65 6d 20 64 65 70 65 6e  64 69 6e 67 20 75 70 6f  |em depending upo|
00004510  6e 20 74 68 65 0a 76 61  6c 75 65 20 6f 66 20 52  |n the.value of R|
00004520  32 0a 0a 20 20 20 20 20  20 20 50 61 72 61 6d 65  |2..       Parame|
00004530  74 65 72 73 20 70 61 73  73 65 64 20 3a 0a 0a 20  |ters passed :.. |
00004540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004550  20 52 30 20 20 20 20 2d  20 20 42 6c 6f 63 6b 20  | R0    -  Block |
00004560  6f 66 20 6d 65 6e 75 20  64 61 74 61 0a 20 20 20  |of menu data.   |
00004570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
00004580  31 20 20 20 20 2d 20 20  4d 65 6e 75 20 69 74 65  |1    -  Menu ite|
00004590  6d 20 6e 75 6d 62 65 72  20 28 63 6f 75 6e 74 69  |m number (counti|
000045a0  6e 67 20 66 72 6f 6d 20  30 29 0a 20 20 20 20 20  |ng from 0).     |
000045b0  20 20 20 20 20 20 20 20  20 20 20 20 20 52 32 20  |             R2 |
000045c0  20 20 20 2d 20 20 2d 31  20 20 20 61 64 64 20 61  |   -  -1   add a|
000045d0  20 74 69 63 6b 0a 20 20  20 20 20 20 20 20 20 20  | tick.          |
000045e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000045f0  20 20 30 20 20 20 63 6c  65 61 72 20 61 6e 79 20  |  0   clear any |
00004600  74 69 63 6b 0a 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |tick..----------|
00004610  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004650  2d 2d 0a 20 20 20 20 20  20 20 0a 57 53 57 69 6d  |--.       .WSWim|
00004660  70 54 6f 6f 6c 73 5f 47  65 74 4d 65 6e 75 49 74  |pTools_GetMenuIt|
00004670  65 6d 54 69 63 6b 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |emTick.---------|
00004680  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00004690  2d 2d 0a 0a 54 68 69 73  20 63 61 6c 6c 20 72 65  |--..This call re|
000046a0  74 75 72 6e 73 20 61 20  76 61 6c 75 65 20 69 6e  |turns a value in|
000046b0  20 52 30 20 74 68 65 20  76 61 6c 75 65 20 6f 66  | R0 the value of|
000046c0  20 77 68 69 63 68 20 64  65 70 65 6e 64 73 20 75  | which depends u|
000046d0  70 6f 6e 20 77 68 65 74  68 65 72 20 74 68 65 20  |pon whether the |
000046e0  6d 65 6e 75 20 69 74 65  6d 20 69 73 20 74 69 63  |menu item is tic|
000046f0  6b 65 64 2e 0a 0a 20 20  20 20 20 20 20 50 61 72  |ked...       Par|
00004700  61 6d 65 74 65 72 73 20  70 61 73 73 65 64 20 3a  |ameters passed :|
00004710  0a 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00004720  20 20 20 20 52 30 20 20  20 20 2d 20 20 42 6c 6f  |    R0    -  Blo|
00004730  63 6b 20 6f 66 20 6d 65  6e 75 20 64 61 74 61 0a  |ck of menu data.|
00004740  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004750  20 20 52 31 20 20 20 20  2d 20 20 4d 65 6e 75 20  |  R1    -  Menu |
00004760  69 74 65 6d 20 6e 75 6d  62 65 72 20 28 63 6f 75  |item number (cou|
00004770  6e 74 69 6e 67 20 66 72  6f 6d 20 30 29 0a 0a 20  |nting from 0).. |
00004780  20 20 20 20 20 20 50 61  72 61 6d 65 74 65 72 73  |      Parameters|
00004790  20 72 65 74 75 72 6e 65  64 20 3a 0a 0a 20 20 20  | returned :..   |
000047a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
000047b0  30 20 20 20 20 2d 20 20  2d 31 20 69 74 65 6d 20  |0    -  -1 item |
000047c0  74 69 63 6b 65 64 0a 20  20 20 20 20 20 20 20 20  |ticked.         |
000047d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000047e0  20 20 20 30 20 69 74 65  6d 20 6e 6f 74 20 74 69  |   0 item not ti|
000047f0  63 6b 65 64 0a 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |cked..----------|
00004800  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004840  2d 2d 0a 20 20 20 20 20  20 20 0a 57 53 57 69 6d  |--.       .WSWim|
00004850  70 54 6f 6f 6c 73 5f 53  65 74 4d 65 6e 75 49 74  |pTools_SetMenuIt|
00004860  65 6d 45 6e 61 62 6c 65  0a 2d 2d 2d 2d 2d 2d 2d  |emEnable.-------|
00004870  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00004880  2d 2d 2d 2d 2d 2d 0a 0a  54 68 69 73 20 63 61 6c  |------..This cal|
00004890  6c 20 65 6e 61 62 6c 65  73 20 6f 72 20 64 69 73  |l enables or dis|
000048a0  61 62 6c 65 73 20 74 68  65 20 6d 65 6e 75 20 69  |ables the menu i|
000048b0  74 65 6d 20 64 65 70 65  6e 64 69 6e 67 20 75 70  |tem depending up|
000048c0  6f 6e 20 74 68 65 20 76  61 6c 75 65 20 6f 66 20  |on the value of |
000048d0  52 32 0a 0a 20 20 20 20  20 20 20 50 61 72 61 6d  |R2..       Param|
000048e0  65 74 65 72 73 20 70 61  73 73 65 64 20 3a 0a 0a  |eters passed :..|
000048f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004900  20 20 52 30 20 20 20 20  2d 20 20 42 6c 6f 63 6b  |  R0    -  Block|
00004910  20 6f 66 20 6d 65 6e 75  20 64 61 74 61 0a 20 20  | of menu data.  |
00004920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004930  52 31 20 20 20 20 2d 20  20 4d 65 6e 75 20 69 74  |R1    -  Menu it|
00004940  65 6d 20 6e 75 6d 62 65  72 20 28 63 6f 75 6e 74  |em number (count|
00004950  69 6e 67 20 66 72 6f 6d  20 30 29 0a 20 20 20 20  |ing from 0).    |
00004960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 32  |              R2|
00004970  20 20 20 20 2d 20 20 2d  31 20 20 20 45 6e 61 62  |    -  -1   Enab|
00004980  6c 65 20 6d 65 6e 75 20  69 74 65 6d 0a 20 20 20  |le menu item.   |
00004990  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000049a0  20 20 20 20 20 20 20 20  20 30 20 20 20 44 69 73  |         0   Dis|
000049b0  61 62 6c 65 20 6d 65 6e  75 20 69 74 65 6d 0a 0a  |able menu item..|
000049c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004a00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 20 20 20  |------------.   |
00004a10  20 20 20 20 0a 57 53 57  69 6d 70 54 6f 6f 6c 73  |    .WSWimpTools|
00004a20  5f 47 65 74 4d 65 6e 75  49 74 65 6d 45 6e 61 62  |_GetMenuItemEnab|
00004a30  6c 65 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |le.-------------|
00004a40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00004a50  0a 0a 54 68 69 73 20 63  61 6c 6c 20 72 65 74 75  |..This call retu|
00004a60  72 6e 73 20 61 20 76 61  6c 75 65 20 69 6e 20 52  |rns a value in R|
00004a70  30 20 74 68 65 20 76 61  6c 75 65 20 6f 66 20 77  |0 the value of w|
00004a80  68 69 63 68 20 64 65 70  65 6e 64 73 20 75 70 6f  |hich depends upo|
00004a90  6e 20 77 68 65 74 68 65  72 20 74 68 65 20 6d 65  |n whether the me|
00004aa0  6e 75 20 69 74 65 6d 20  69 73 20 65 6e 61 62 6c  |nu item is enabl|
00004ab0  65 64 2e 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |ed...       Para|
00004ac0  6d 65 74 65 72 73 20 70  61 73 73 65 64 20 3a 0a  |meters passed :.|
00004ad0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004ae0  20 20 20 52 30 20 20 20  20 2d 20 20 42 6c 6f 63  |   R0    -  Bloc|
00004af0  6b 20 6f 66 20 6d 65 6e  75 20 64 61 74 61 0a 20  |k of menu data. |
00004b00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004b10  20 52 31 20 20 20 20 2d  20 20 4d 65 6e 75 20 69  | R1    -  Menu i|
00004b20  74 65 6d 20 6e 75 6d 62  65 72 20 28 63 6f 75 6e  |tem number (coun|
00004b30  74 69 6e 67 20 66 72 6f  6d 20 30 29 0a 0a 20 20  |ting from 0)..  |
00004b40  20 20 20 20 20 50 61 72  61 6d 65 74 65 72 73 20  |     Parameters |
00004b50  72 65 74 75 72 6e 65 64  20 3a 0a 0a 20 20 20 20  |returned :..    |
00004b60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 30  |              R0|
00004b70  20 20 20 20 2d 20 20 2d  31 20 69 74 65 6d 20 65  |    -  -1 item e|
00004b80  6e 61 62 6c 65 64 0a 20  20 20 20 20 20 20 20 20  |nabled.         |
00004b90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004ba0  20 20 20 30 20 69 74 65  6d 20 64 69 73 61 62 6c  |   0 item disabl|
00004bb0  65 64 0a 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ed..------------|
00004bc0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004c00  0a 20 20 20 20 20 20 20  0a 57 53 57 69 6d 70 54  |.       .WSWimpT|
00004c10  6f 6f 6c 73 5f 41 74 74  61 63 68 53 75 62 4d 65  |ools_AttachSubMe|
00004c20  6e 75 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |nu.-------------|
00004c30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 54 68  |------------..Th|
00004c40  69 73 20 63 61 6c 6c 20  61 74 74 61 63 68 65 73  |is call attaches|
00004c50  20 61 20 73 75 62 6d 65  6e 75 20 6f 72 20 77 69  | a submenu or wi|
00004c60  6e 64 6f 77 20 74 6f 20  74 68 65 20 6d 65 6e 75  |ndow to the menu|
00004c70  20 69 74 65 6d 2e 20 20  49 66 20 52 32 20 69 73  | item.  If R2 is|
00004c80  20 2d 31 20 74 68 65 6e  0a 61 6e 79 20 65 78 69  | -1 then.any exi|
00004c90  73 74 69 6e 67 20 73 75  62 6d 65 6e 75 20 6f 72  |sting submenu or|
00004ca0  20 77 69 6e 64 6f 77 20  77 69 6c 6c 20 62 65 20  | window will be |
00004cb0  72 65 6d 6f 76 65 64 2e  0a 0a 20 20 20 20 20 20  |removed...      |
00004cc0  20 50 61 72 61 6d 65 74  65 72 73 20 70 61 73 73  | Parameters pass|
00004cd0  65 64 20 3a 0a 0a 20 20  20 20 20 20 20 20 20 20  |ed :..          |
00004ce0  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00004cf0  20 42 6c 6f 63 6b 20 6f  66 20 6d 65 6e 75 20 64  | Block of menu d|
00004d00  61 74 61 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ata.            |
00004d10  20 20 20 20 20 20 52 31  20 20 20 20 2d 20 20 4d  |      R1    -  M|
00004d20  65 6e 75 20 69 74 65 6d  20 6e 75 6d 62 65 72 20  |enu item number |
00004d30  28 63 6f 75 6e 74 69 6e  67 20 66 72 6f 6d 20 30  |(counting from 0|
00004d40  29 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |).              |
00004d50  20 20 20 20 52 32 20 20  20 20 2d 20 20 4d 65 6e  |    R2    -  Men|
00004d60  75 20 62 6c 6f 63 6b 20  6f 72 20 57 69 6e 64 6f  |u block or Windo|
00004d70  77 20 68 61 6e 64 6c 65  0a 0a 20 20 20 20 20 20  |w handle..      |
00004d80  20 20 20 20 20 20 20 20  20 20 20 20 49 66 20 52  |            If R|
00004d90  33 20 3d 20 77 69 6e 64  6f 77 20 68 61 6e 64 6c  |3 = window handl|
00004da0  65 20 62 6c 6f 63 6b 20  63 72 65 61 74 65 64 20  |e block created |
00004db0  62 79 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |by.             |
00004dc0  20 20 20 20 20 57 53 57  69 6d 70 54 6f 6f 6c 73  |     WSWimpTools|
00004dd0  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 20 74 68  |_LoadTemplate th|
00004de0  65 6e 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |en..            |
00004df0  20 20 20 20 20 20 52 32  20 20 20 20 2d 20 20 57  |      R2    -  W|
00004e00  69 6e 64 6f 77 20 6e 61  6d 65 20 6f 72 20 6e 75  |indow name or nu|
00004e10  6d 62 65 72 0a 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |mber..----------|
00004e20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004e60  2d 2d 0a 20 20 20 20 20  20 20 0a 57 53 57 69 6d  |--.       .WSWim|
00004e70  70 54 6f 6f 6c 73 5f 53  65 74 4d 65 6e 75 49 74  |pTools_SetMenuIt|
00004e80  65 6d 4f 70 74 69 6f 6e  73 0a 2d 2d 2d 2d 2d 2d  |emOptions.------|
00004e90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00004ea0  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 54 68 69 73 20 63  |--------..This c|
00004eb0  61 6c 6c 20 73 65 74 73  20 74 68 65 20 6f 70 74  |all sets the opt|
00004ec0  69 6f 6e 73 20 66 6f 72  20 74 68 65 20 6d 65 6e  |ions for the men|
00004ed0  75 20 69 74 65 6d 2e 20  28 53 65 65 20 52 69 73  |u item. (See Ris|
00004ee0  63 20 4f 53 20 72 65 66  65 72 65 6e 63 65 20 6d  |c OS reference m|
00004ef0  61 6e 75 61 6c 29 0a 0a  20 20 20 20 20 20 20 50  |anual)..       P|
00004f00  61 72 61 6d 65 74 65 72  73 20 70 61 73 73 65 64  |arameters passed|
00004f10  20 3a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  | :..            |
00004f20  20 20 20 20 20 20 52 30  20 20 20 20 2d 20 20 42  |      R0    -  B|
00004f30  6c 6f 63 6b 20 6f 66 20  6d 65 6e 75 20 64 61 74  |lock of menu dat|
00004f40  61 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |a.              |
00004f50  20 20 20 20 52 31 20 20  20 20 2d 20 20 4d 65 6e  |    R1    -  Men|
00004f60  75 20 69 74 65 6d 20 6e  75 6d 62 65 72 20 28 63  |u item number (c|
00004f70  6f 75 6e 74 69 6e 67 20  66 72 6f 6d 20 30 29 0a  |ounting from 0).|
00004f80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004f90  20 20 52 32 20 20 20 20  2d 20 20 4f 70 74 69 6f  |  R2    -  Optio|
00004fa0  6e 73 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ns..            |
00004fb0  20 20 20 20 20 20 62 69  74 20 20 20 2d 20 20 30  |      bit   -  0|
00004fc0  20 20 74 69 63 6b 20 69  74 65 6d 0a 20 20 20 20  |  tick item.    |
00004fd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004fe0  20 20 20 20 20 20 20 31  20 20 66 6f 6c 6c 6f 77  |       1  follow|
00004ff0  20 77 69 74 68 20 64 6f  74 74 65 64 20 6c 69 6e  | with dotted lin|
00005000  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
00005010  20 20 20 20 20 20 20 20  20 20 20 20 20 32 20 20  |             2  |
00005020  77 72 69 74 65 61 62 6c  65 20 69 74 65 6d 0a 20  |writeable item. |
00005030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005040  20 20 20 20 20 20 20 20  20 20 33 20 20 67 65 6e  |          3  gen|
00005050  65 72 61 74 65 20 6d 65  73 73 61 67 65 20 66 6f  |erate message fo|
00005060  72 20 73 75 62 6d 65 6e  75 0a 0a 2d 2d 2d 2d 2d  |r submenu..-----|
00005070  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000050b0  2d 2d 2d 2d 2d 2d 2d 0a  20 20 20 20 20 20 20 0a  |-------.       .|
000050c0  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 47 65 74 4d  |WSWimpTools_GetM|
000050d0  65 6e 75 49 74 65 6d 4f  70 74 69 6f 6e 73 0a 2d  |enuItemOptions.-|
000050e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000050f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 54  |-------------..T|
00005100  68 69 73 20 63 61 6c 6c  20 72 65 61 64 73 20 74  |his call reads t|
00005110  68 65 20 6f 70 74 69 6f  6e 73 20 66 6f 72 20 74  |he options for t|
00005120  68 65 20 6d 65 6e 75 20  69 74 65 6d 2e 20 0a 0a  |he menu item. ..|
00005130  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
00005140  73 20 70 61 73 73 65 64  20 3a 0a 0a 20 20 20 20  |s passed :..    |
00005150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 30  |              R0|
00005160  20 20 20 20 2d 20 20 42  6c 6f 63 6b 20 6f 66 20  |    -  Block of |
00005170  6d 65 6e 75 20 64 61 74  61 0a 20 20 20 20 20 20  |menu data.      |
00005180  20 20 20 20 20 20 20 20  20 20 20 20 52 31 20 20  |            R1  |
00005190  20 20 2d 20 20 4d 65 6e  75 20 69 74 65 6d 20 6e  |  -  Menu item n|
000051a0  75 6d 62 65 72 20 28 63  6f 75 6e 74 69 6e 67 20  |umber (counting |
000051b0  66 72 6f 6d 20 30 29 0a  20 20 20 20 20 20 20 20  |from 0).        |
000051c0  20 20 20 20 20 20 20 20  20 20 52 32 20 20 20 20  |          R2    |
000051d0  2d 20 20 4f 70 74 69 6f  6e 73 0a 0a 20 20 20 20  |-  Options..    |
000051e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 62 69  |              bi|
000051f0  74 20 20 20 2d 20 20 30  20 20 74 69 63 6b 20 69  |t   -  0  tick i|
00005200  74 65 6d 0a 20 20 20 20  20 20 20 20 20 20 20 20  |tem.            |
00005210  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 31  |               1|
00005220  20 20 66 6f 6c 6c 6f 77  20 77 69 74 68 20 64 6f  |  follow with do|
00005230  74 74 65 64 20 6c 69 6e  65 0a 20 20 20 20 20 20  |tted line.      |
00005240  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005250  20 20 20 20 20 32 20 20  77 72 69 74 65 61 62 6c  |     2  writeabl|
00005260  65 20 69 74 65 6d 0a 20  20 20 20 20 20 20 20 20  |e item.         |
00005270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005280  20 20 33 20 20 67 65 6e  65 72 61 74 65 20 6d 65  |  3  generate me|
00005290  73 73 61 67 65 20 66 6f  72 20 73 75 62 6d 65 6e  |ssage for submen|
000052a0  75 0a 0a 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |u...------------|
000052b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000052f0  0a 20 20 20 20 20 20 20  0a 57 53 57 69 6d 70 54  |.       .WSWimpT|
00005300  6f 6f 6c 73 5f 49 63 6f  6e 42 61 72 4d 65 6e 75  |ools_IconBarMenu|
00005310  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00005320  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 54 68 69 73 20 63  |--------..This c|
00005330  61 6c 6c 20 64 69 73 70  6c 61 79 73 20 74 68 65  |all displays the|
00005340  20 73 75 70 70 6c 69 65  64 20 6d 65 6e 75 20 61  | supplied menu a|
00005350  74 20 74 68 65 20 69 63  6f 6e 20 62 61 72 20 61  |t the icon bar a|
00005360  74 20 74 68 65 20 73 74  61 6e 64 61 72 64 20 68  |t the standard h|
00005370  65 69 67 68 74 2c 20 74  61 6b 69 6e 67 20 61 63  |eight, taking ac|
00005380  63 6f 75 6e 74 20 6f 66  20 6d 65 6e 75 20 69 74  |count of menu it|
00005390  65 6d 20 64 69 76 69 64  65 72 73 20 28 20 64 61  |em dividers ( da|
000053a0  73 68 65 64 20 6c 69 6e  65 73 20 29 2e 0a 0a 20  |shed lines )... |
000053b0  20 20 20 20 20 20 50 61  72 61 6d 65 74 65 72 73  |      Parameters|
000053c0  20 70 61 73 73 65 64 20  3a 0a 0a 20 20 20 20 20  | passed :..     |
000053d0  20 20 20 20 20 20 20 20  20 20 20 20 20 52 30 20  |             R0 |
000053e0  20 20 20 2d 20 20 4d 65  6e 75 20 62 6c 6f 63 6b  |   -  Menu block|
000053f0  0a 0a 20 20 20 20 20 20  20 50 61 72 61 6d 65 74  |..       Paramet|
00005400  65 72 73 20 72 65 74 75  72 6e 65 64 20 3a 0a 0a  |ers returned :..|
00005410  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005420  20 20 4e 6f 6e 65 0a 0a  2d 2d 2d 2d 2d 2d 2d 2d  |  None..--------|
00005430  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005470  2d 2d 2d 2d 0a 20 20 20  20 20 20 20 0a 57 53 57  |----.       .WSW|
00005480  69 6d 70 54 6f 6f 6c 73  5f 4d 65 6e 75 41 64 6a  |impTools_MenuAdj|
00005490  75 73 74 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ust.------------|
000054a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 54 68 69 73  |----------..This|
000054b0  20 63 61 6c 6c 20 63 68  65 63 6b 73 20 74 68 65  | call checks the|
000054c0  20 61 64 6a 75 73 74 20  62 75 74 74 6f 6e 20 61  | adjust button a|
000054d0  6e 64 20 72 65 64 69 73  70 6c 61 79 73 20 74 68  |nd redisplays th|
000054e0  65 20 73 75 70 70 6c 69  65 64 20 6d 65 6e 75 2e  |e supplied menu.|
000054f0  0a 0a 20 20 20 20 20 20  20 50 61 72 61 6d 65 74  |..       Paramet|
00005500  65 72 73 20 70 61 73 73  65 64 20 3a 0a 0a 20 20  |ers passed :..  |
00005510  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005520  52 30 20 20 20 20 2d 20  20 4d 65 6e 75 20 62 6c  |R0    -  Menu bl|
00005530  6f 63 6b 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |ock..       Para|
00005540  6d 65 74 65 72 73 20 72  65 74 75 72 6e 65 64 20  |meters returned |
00005550  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |:..             |
00005560  20 20 20 20 20 4e 6f 6e  65 0a 0a 2d 2d 2d 2d 2d  |     None..-----|
00005570  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000055b0  2d 2d 2d 2d 2d 2d 2d 0a  20 20 20 20 20 20 20 0a  |-------.       .|
000055c0  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 4d 61 6b 65  |WSWimpTools_Make|
000055d0  4d 65 6e 75 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |Menu.-----------|
000055e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 54 68 69 73 20  |---------..This |
000055f0  63 61 6c 6c 20 67 65 6e  65 72 61 74 65 73 20 61  |call generates a|
00005600  20 6d 65 6e 75 20 62 6c  6f 63 6b 20 66 72 6f 6d  | menu block from|
00005610  20 74 68 65 20 73 74 72  69 6e 67 20 67 69 76 65  | the string give|
00005620  6e 20 69 6e 20 72 32 2e  0a 0a 20 20 20 20 20 20  |n in r2...      |
00005630  20 50 61 72 61 6d 65 74  65 72 73 20 70 61 73 73  | Parameters pass|
00005640  65 64 20 3a 0a 0a 20 20  20 20 20 20 20 20 20 20  |ed :..          |
00005650  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00005660  20 4d 65 6e 75 20 62 6c  6f 63 6b 0a 20 20 20 20  | Menu block.    |
00005670  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 31  |              R1|
00005680  20 20 20 20 2d 20 20 49  6e 64 69 72 65 63 74 65  |    -  Indirecte|
00005690  64 20 73 74 72 69 6e 67  20 73 74 6f 72 61 67 65  |d string storage|
000056a0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000056b0  20 20 20 52 32 20 20 20  20 2d 20 20 4d 65 6e 75  |   R2    -  Menu|
000056c0  20 53 74 72 69 6e 67 0a  0a 20 20 20 20 20 20 20  | String..       |
000056d0  50 61 72 61 6d 65 74 65  72 73 20 72 65 74 75 72  |Parameters retur|
000056e0  6e 65 64 20 3a 0a 0a 20  20 20 20 20 20 20 20 20  |ned :..         |
000056f0  20 20 20 20 20 20 20 20  20 52 30 20 20 20 20 2d  |         R0    -|
00005700  20 20 4e 65 78 74 20 70  6f 73 69 74 69 6f 6e 20  |  Next position |
00005710  61 66 74 65 72 20 74 68  65 20 6d 65 6e 75 20 69  |after the menu i|
00005720  6e 20 74 68 65 20 6d 65  6e 75 20 62 6c 6f 63 6b  |n the menu block|
00005730  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00005740  20 20 20 52 31 20 20 20  20 2d 20 20 4e 65 78 74  |   R1    -  Next|
00005750  20 70 6f 73 69 74 69 6f  6e 20 69 6e 20 74 68 65  | position in the|
00005760  20 73 74 72 69 6e 67 20  73 74 6f 72 61 67 65 20  | string storage |
00005770  62 6c 6f 63 6b 0a 0a 20  20 20 20 20 20 20 4d 65  |block..       Me|
00005780  6e 75 20 73 74 72 69 6e  67 20 66 6f 72 6d 61 74  |nu string format|
00005790  20 3a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  | :..            |
000057a0  20 20 20 20 20 20 22 49  74 65 6d 31 2c 49 74 65  |      "Item1,Ite|
000057b0  6d 32 2c 49 74 65 6d 33  2e 2e 2e 2e 49 74 65 6d  |m2,Item3....Item|
000057c0  4e 22 0a 0a 20 20 20 20  20 20 20 49 66 20 49 74  |N"..       If It|
000057d0  65 6d 31 20 69 73 20 70  72 6f 63 65 65 64 65 64  |em1 is proceeded|
000057e0  20 77 69 74 68 20 61 20  23 20 73 79 6d 62 6f 6c  | with a # symbol|
000057f0  20 74 68 65 6e 20 69 74  20 77 69 6c 6c 20 62 65  | then it will be|
00005800  20 75 73 65 64 20 61 73  20 74 68 65 0a 20 20 20  | used as the.   |
00005810  20 20 20 20 74 69 74 6c  65 2e 20 20 41 6e 20 65  |    title.  An e|
00005820  72 72 6f 72 20 77 69 6c  6c 20 62 65 20 70 72 6f  |rror will be pro|
00005830  64 75 63 65 64 20 69 66  20 69 74 20 69 73 20 74  |duced if it is t|
00005840  6f 6f 20 6c 6f 6e 67 21  0a 0a 20 20 20 20 20 20  |oo long!..      |
00005850  20 54 68 65 72 65 20 61  72 65 20 73 70 65 63 69  | There are speci|
00005860  61 6c 20 63 68 61 72 61  63 74 65 72 73 20 77 68  |al characters wh|
00005870  69 63 68 20 61 66 66 65  63 74 20 74 68 65 20 6d  |ich affect the m|
00005880  65 6e 75 20 69 74 65 6d  20 61 6e 64 20 74 68 65  |enu item and the|
00005890  73 65 0a 20 20 20 20 20  20 20 61 72 65 20 61 73  |se.       are as|
000058a0  20 66 6f 6c 6c 6f 77 73  0a 0a 20 20 20 20 20 20  | follows..      |
000058b0  20 20 20 20 20 20 20 20  20 20 20 20 80 20 20 20  |            .   |
000058c0  20 20 2d 20 20 49 74 65  6d 20 69 73 20 74 69 63  |  -  Item is tic|
000058d0  6b 65 64 20 21 0a 20 20  20 20 20 20 20 20 20 20  |ked !.          |
000058e0  20 20 20 20 20 20 20 20  84 20 20 20 20 20 2d 20  |        .     - |
000058f0  20 49 74 65 6d 20 69 73  20 64 69 73 61 62 6c 65  | Item is disable|
00005900  64 20 28 64 69 6d 6d 65  64 29 0a 20 20 20 20 20  |d (dimmed).     |
00005910  20 20 20 20 20 20 20 20  20 20 20 20 20 3f 20 20  |             ?  |
00005920  20 20 20 2d 20 20 49 74  65 6d 20 69 73 20 77 72  |   -  Item is wr|
00005930  69 74 65 61 62 6c 65 0a  20 20 20 20 20 20 20 20  |iteable.        |
00005940  20 20 20 20 20 20 20 20  20 20 3e 20 20 20 20 20  |          >     |
00005950  2d 20 20 47 65 6e 65 72  61 74 65 20 4d 65 73 73  |-  Generate Mess|
00005960  61 67 65 5f 53 75 62 4d  65 6e 75 20 77 68 65 6e  |age_SubMenu when|
00005970  20 73 75 62 20 6d 65 6e  75 20 63 68 6f 73 65 6e  | sub menu chosen|
00005980  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00005990  20 20 20 2d 20 20 20 20  20 2d 20 20 49 74 65 6d  |   -     -  Item|
000059a0  20 69 73 20 66 6f 6c 6c  6f 77 65 64 20 62 79 20  | is followed by |
000059b0  61 20 64 61 73 68 65 64  20 6c 69 6e 65 0a 0a 2d  |a dashed line..-|
000059c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005a00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 20 20 20 20  |-----------.    |
00005a10  20 20 20 0a 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |   .WSWimpTools_|
00005a20  47 65 74 54 65 78 74 0a  2d 2d 2d 2d 2d 2d 2d 2d  |GetText.--------|
00005a30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 54 68 69  |-----------..Thi|
00005a40  73 20 63 61 6c 6c 20 72  65 74 75 72 6e 73 20 74  |s call returns t|
00005a50  68 65 20 73 74 72 69 6e  67 20 70 6f 69 6e 74 65  |he string pointe|
00005a60  64 20 74 6f 20 62 79 20  52 30 20 70 72 6f 76 69  |d to by R0 provi|
00005a70  64 69 6e 67 20 69 74 20  65 6e 64 73 20 69 6e 20  |ding it ends in |
00005a80  61 0a 63 68 61 72 61 63  74 65 72 20 77 68 69 63  |a.character whic|
00005a90  68 20 68 61 73 20 61 6e  20 41 53 43 49 49 20 76  |h has an ASCII v|
00005aa0  61 6c 75 65 20 6f 66 20  6c 65 73 73 20 74 68 61  |alue of less tha|
00005ab0  6e 20 33 32 2e 0a 0a 20  20 20 20 20 20 20 50 61  |n 32...       Pa|
00005ac0  72 61 6d 65 74 65 72 73  20 70 61 73 73 65 64 20  |rameters passed |
00005ad0  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |:..             |
00005ae0  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 41 64  |     R0    -  Ad|
00005af0  64 72 65 73 73 20 6f 66  20 73 74 72 69 6e 67 0a  |dress of string.|
00005b00  0a 20 20 20 20 20 20 20  50 61 72 61 6d 65 74 65  |.       Paramete|
00005b10  72 73 20 72 65 74 75 72  6e 65 64 20 3a 0a 0a 20  |rs returned :.. |
00005b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005b30  20 52 30 20 20 20 20 2d  20 20 53 74 72 69 6e 67  | R0    -  String|
00005b40  0a 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..--------------|
00005b50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005b80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 20  |--------------. |
00005b90  20 20 20 20 20 20 0a 57  53 57 69 6d 70 54 6f 6f  |      .WSWimpToo|
00005ba0  6c 73 5f 53 74 61 72 74  44 72 61 67 0a 2d 2d 2d  |ls_StartDrag.---|
00005bb0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00005bc0  2d 2d 20 0a 0a 54 68 69  73 20 63 61 6c 6c 20 73  |-- ..This call s|
00005bd0  74 61 72 74 73 20 61 20  64 72 61 67 20 62 6f 78  |tarts a drag box|
00005be0  20 66 72 6f 6d 20 74 68  65 20 77 69 6e 64 6f 77  | from the window|
00005bf0  20 69 6e 20 52 30 2c 20  75 73 69 6e 67 20 69 63  | in R0, using ic|
00005c00  6f 6e 20 52 31 20 61 73  20 74 68 65 0a 6f 75 74  |on R1 as the.out|
00005c10  6c 69 6e 65 2e 20 20 49  66 20 74 68 65 20 44 72  |line.  If the Dr|
00005c20  61 67 41 53 70 72 69 74  65 20 6d 6f 64 75 6c 65  |agASprite module|
00005c30  20 69 73 20 61 76 61 69  6c 61 62 6c 65 20 61 6e  | is available an|
00005c40  64 20 52 32 20 63 6f 6e  74 61 69 6e 73 20 74 68  |d R2 contains th|
00005c50  65 20 61 64 64 72 65 73  73 0a 6f 66 20 61 20 73  |e address.of a s|
00005c60  70 72 69 74 65 20 62 6c  6f 63 6b 20 63 6f 6e 74  |prite block cont|
00005c70  61 69 6e 69 6e 67 20 74  68 65 20 69 63 6f 6e 20  |aining the icon |
00005c80  74 68 65 6e 20 74 68 65  20 6d 6f 64 75 6c 65 20  |then the module |
00005c90  77 69 6c 6c 20 62 65 20  75 73 65 64 2e 20 52 30  |will be used. R0|
00005ca0  0a 72 65 74 75 72 6e 73  20 54 52 55 45 20 6f 66  |.returns TRUE of|
00005cb0  20 74 68 65 20 6d 6f 64  75 6c 65 20 77 61 73 20  | the module was |
00005cc0  75 73 65 64 20 61 6e 64  20 46 41 4c 53 45 20 69  |used and FALSE i|
00005cd0  66 20 6e 6f 74 2e 20 20  49 66 20 54 52 55 45 20  |f not.  If TRUE |
00005ce0  74 68 65 6e 0a 44 72 61  67 41 53 70 72 69 74 65  |then.DragASprite|
00005cf0  5f 53 74 6f 70 20 6d 75  73 74 20 62 65 20 63 61  |_Stop must be ca|
00005d00  6c 6c 65 64 20 77 68 65  6e 20 57 69 6d 70 5f 50  |lled when Wimp_P|
00005d10  6f 6c 6c 20 64 72 61 67  67 65 64 20 66 69 6e 69  |oll dragged fini|
00005d20  73 68 65 64 20 68 61 73  20 62 65 65 6e 0a 72 65  |shed has been.re|
00005d30  63 65 69 76 65 64 20 62  79 20 74 68 65 20 70 72  |ceived by the pr|
00005d40  6f 67 72 61 6d 20 28 70  6f 6c 6c 20 63 6f 64 65  |ogram (poll code|
00005d50  20 37 29 0a 0a 20 20 20  20 20 20 20 50 61 72 61  | 7)..       Para|
00005d60  6d 65 74 65 72 73 20 70  61 73 73 65 64 20 3a 0a  |meters passed :.|
00005d70  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00005d80  20 20 20 52 30 20 20 20  20 2d 20 20 57 69 6e 64  |   R0    -  Wind|
00005d90  6f 77 20 68 61 6e 64 6c  65 0a 20 20 20 20 20 20  |ow handle.      |
00005da0  20 20 20 20 20 20 20 20  20 20 20 20 52 31 20 20  |            R1  |
00005db0  20 20 2d 20 20 49 63 6f  6e 20 68 61 6e 64 6c 65  |  -  Icon handle|
00005dc0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00005dd0  20 20 20 52 32 20 20 20  20 2d 20 20 53 70 72 69  |   R2    -  Spri|
00005de0  74 65 20 62 6c 6f 63 6b  20 28 55 73 75 61 6c 6c  |te block (Usuall|
00005df0  79 20 31 20 74 6f 20 75  73 65 20 73 70 72 69 74  |y 1 to use sprit|
00005e00  65 20 70 6f 6f 6c 29 0a  0a 20 20 20 20 20 20 20  |e pool)..       |
00005e10  20 20 20 20 20 20 20 20  20 20 20 49 66 20 52 34  |           If R4|
00005e20  20 3d 20 77 69 6e 64 6f  77 20 68 61 6e 64 6c 65  | = window handle|
00005e30  20 62 6c 6f 63 6b 20 63  72 65 61 74 65 64 20 62  | block created b|
00005e40  79 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |y.              |
00005e50  20 20 20 20 57 53 57 69  6d 70 54 6f 6f 6c 73 5f  |    WSWimpTools_|
00005e60  4c 6f 61 64 54 65 6d 70  6c 61 74 65 20 74 68 65  |LoadTemplate the|
00005e70  6e 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |n..             |
00005e80  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 57 69  |     R0    -  Wi|
00005e90  6e 64 6f 77 20 6e 61 6d  65 20 6f 72 20 6e 75 6d  |ndow name or num|
00005ea0  62 65 72 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |ber..       Para|
00005eb0  6d 65 74 65 72 73 20 72  65 74 75 72 6e 65 64 20  |meters returned |
00005ec0  3a 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |:..             |
00005ed0  20 20 20 20 20 52 30 20  20 20 20 2d 20 20 44 72  |     R0    -  Dr|
00005ee0  61 67 20 74 79 70 65 20  28 20 54 52 55 45 20 2d  |ag type ( TRUE -|
00005ef0  20 75 73 65 64 20 44 72  61 67 41 53 70 72 69 74  | used DragASprit|
00005f00  65 20 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |e ).            |
00005f10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005f20  20 20 20 20 20 20 20 20  20 28 20 46 41 4c 53 45  |         ( FALSE|
00005f30  2d 20 75 73 65 64 20 57  69 6d 70 5f 44 72 61 67  |- used Wimp_Drag|
00005f40  42 6f 78 20 29 0a 0a 54  68 69 73 20 53 57 49 20  |Box )..This SWI |
00005f50  77 69 6c 6c 20 68 61 6e  64 6c 65 20 74 65 78 74  |will handle text|
00005f60  2b 73 70 72 69 74 65 73  20 69 63 6f 6e 73 20 62  |+sprites icons b|
00005f70  75 74 20 74 68 65 20 73  70 72 69 74 65 6e 61 6d  |ut the spritenam|
00005f80  65 20 6d 75 73 74 20 62  65 20 74 68 65 20 6c 61  |e must be the la|
00005f90  73 74 0a 69 74 65 6d 20  69 6e 20 74 68 65 20 76  |st.item in the v|
00005fa0  61 6c 69 64 61 74 69 6f  6e 20 73 74 72 69 6e 67  |alidation string|
00005fb0  0a 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..--------------|
00005fc0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005ff0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |--------------..|
00006000  57 53 57 69 6d 70 54 6f  6f 6c 73 5f 53 65 6e 64  |WSWimpTools_Send|
00006010  53 61 76 65 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |Save.-----------|
00006020  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 54 68 69 73 20  |---------..This |
00006030  63 61 6c 6c 20 73 65 74  73 20 75 70 20 61 20 6d  |call sets up a m|
00006040  65 73 73 61 67 65 20 62  6c 6f 63 6b 20 61 6e 64  |essage block and|
00006050  20 73 65 6e 64 73 20 22  57 69 6d 70 20 4d 65 73  | sends "Wimp Mes|
00006060  73 61 67 65 5f 44 61 74  61 53 61 76 65 22 0a 28  |sage_DataSave".(|
00006070  70 6f 6c 6c 20 62 6c 6f  63 6b 21 31 36 3d 31 29  |poll block!16=1)|
00006080  20 74 6f 20 74 68 65 20  61 70 70 6c 69 63 61 74  | to the applicat|
00006090  69 6f 6e 20 77 68 69 63  68 20 6f 77 6e 73 20 74  |ion which owns t|
000060a0  68 65 20 77 69 6e 64 6f  77 20 74 68 65 20 70 6f  |he window the po|
000060b0  69 6e 74 65 72 20 69 73  0a 6f 76 65 72 2e 20 20  |inter is.over.  |
000060c0  54 6f 20 62 65 20 63 61  6c 6c 65 64 20 61 66 74  |To be called aft|
000060d0  65 72 20 70 6f 6c 6c 20  63 6f 64 65 20 37 20 2d  |er poll code 7 -|
000060e0  20 64 72 61 67 20 66 69  6e 69 73 68 65 64 2e 0a  | drag finished..|
000060f0  0a 0a 20 20 20 20 20 20  20 50 61 72 61 6d 65 74  |..       Paramet|
00006100  65 72 73 20 70 61 73 73  65 64 20 3a 0a 0a 20 20  |ers passed :..  |
00006110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006120  52 31 20 20 20 20 2d 20  20 4d 65 73 73 61 67 65  |R1    -  Message|
00006130  20 62 6c 6f 63 6b 0a 20  20 20 20 20 20 20 20 20  | block.         |
00006140  20 20 20 20 20 20 20 20  20 52 32 20 20 20 20 2d  |         R2    -|
00006150  20 20 46 69 6c 65 74 79  70 65 0a 20 20 20 20 20  |  Filetype.     |
00006160  20 20 20 20 20 20 20 20  20 20 20 20 20 52 33 20  |             R3 |
00006170  20 20 20 2d 20 20 46 69  6c 65 6e 61 6d 65 20 73  |   -  Filename s|
00006180  74 72 69 6e 67 0a 20 20  20 20 20 20 20 20 20 20  |tring.          |
00006190  20 20 20 20 20 20 20 20  52 34 20 20 20 20 2d 20  |        R4    - |
000061a0  20 41 70 70 72 6f 78 69  6d 61 74 65 20 73 69 7a  | Approximate siz|
000061b0  65 20 6f 66 20 64 61 74  61 0a 0a 20 20 20 20 20  |e of data..     |
000061c0  20 20 50 61 72 61 6d 65  74 65 72 73 20 72 65 74  |  Parameters ret|
000061d0  75 72 6e 65 64 20 3a 0a  0a 20 20 20 20 20 20 20  |urned :..       |
000061e0  20 20 20 20 20 20 20 20  20 20 20 52 31 20 20 20  |           R1   |
000061f0  20 2d 20 20 4d 65 73 73  61 67 65 20 62 6c 6f 63  | -  Message bloc|
00006200  6b 0a 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |k..-------------|
00006210  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006240  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00006250  0a 57 53 57 69 6d 70 54  6f 6f 6c 73 5f 53 65 6e  |.WSWimpTools_Sen|
00006260  64 4c 6f 61 64 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |dLoad.----------|
00006270  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 54 68 69 73  |----------..This|
00006280  20 63 61 6c 6c 20 73 65  6e 64 73 20 22 57 69 6d  | call sends "Wim|
00006290  70 20 4d 65 73 73 61 67  65 5f 44 61 74 61 4c 6f  |p Message_DataLo|
000062a0  61 64 22 20 74 6f 20 74  68 65 20 61 70 70 6c 69  |ad" to the appli|
000062b0  63 61 74 69 6f 6e 20 69  6e 20 74 68 65 20 6d 65  |cation in the me|
000062c0  73 73 61 67 65 20 0a 62  6c 6f 63 6b 2e 20 54 68  |ssage .block. Th|
000062d0  65 20 62 6c 6f 63 6b 20  73 68 6f 75 6c 64 20 62  |e block should b|
000062e0  65 20 74 68 65 20 73 61  6d 65 20 61 73 20 74 68  |e the same as th|
000062f0  65 20 6f 6e 65 20 72 65  74 75 72 6e 65 64 20 62  |e one returned b|
00006300  79 20 57 69 6d 70 5f 50  6f 6c 6c 0a 4d 65 73 73  |y Wimp_Poll.Mess|
00006310  61 67 65 5f 44 61 74 61  53 61 76 65 41 63 6b 20  |age_DataSaveAck |
00006320  28 70 6f 6c 6c 20 62 6c  6f 63 6b 21 31 36 3d 32  |(poll block!16=2|
00006330  29 2e 0a 0a 20 20 20 20  20 20 20 50 61 72 61 6d  |)...       Param|
00006340  65 74 65 72 73 20 70 61  73 73 65 64 20 3a 0a 0a  |eters passed :..|
00006350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006360  20 20 52 30 20 20 20 20  2d 20 20 46 69 6c 65 6e  |  R0    -  Filen|
00006370  61 6d 65 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ame.            |
00006380  20 20 20 20 20 20 52 31  20 20 20 20 2d 20 20 4d  |      R1    -  M|
00006390  65 73 73 61 67 65 20 62  6c 6f 63 6b 0a 0a 20 20  |essage block..  |
000063a0  20 20 20 20 20 50 61 72  61 6d 65 74 65 72 73 20  |     Parameters |
000063b0  72 65 74 75 72 6e 65 64  20 3a 0a 0a 20 20 20 20  |returned :..    |
000063c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 31  |              R1|
000063d0  20 20 20 20 2d 20 20 4d  65 73 73 61 67 65 20 62  |    -  Message b|
000063e0  6c 6f 63 6b 0a 0a 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |lock...---------|
000063f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006430  2d 2d 2d 0a 0a 57 53 57  69 6d 70 54 6f 6f 6c 73  |---..WSWimpTools|
00006440  5f 53 65 6e 64 53 61 76  65 41 63 6b 0a 2d 2d 2d  |_SendSaveAck.---|
00006450  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00006460  2d 2d 2d 2d 0a 0a 54 68  69 73 20 63 61 6c 6c 20  |----..This call |
00006470  73 65 6e 64 73 20 22 57  69 6d 70 5f 4d 65 73 73  |sends "Wimp_Mess|
00006480  61 67 65 20 53 61 76 65  20 41 63 6b 6e 6f 77 6c  |age Save Acknowl|
00006490  65 64 67 65 20 28 70 6f  6c 6c 20 62 6c 6f 63 6b  |edge (poll block|
000064a0  21 31 36 3d 32 29 22 20  61 73 20 61 6e 20 61 63  |!16=2)" as an ac|
000064b0  6b 6e 6f 77 6c 65 64 67  6d 65 6e 74 20 6f 66 20  |knowledgment of |
000064c0  4d 65 73 73 61 67 65 5f  44 61 74 61 53 61 76 65  |Message_DataSave|
000064d0  20 28 62 25 21 31 36 3d  31 29 20 74 6f 20 74 68  | (b%!16=1) to th|
000064e0  65 20 61 70 70 6c 69 63  61 74 69 6f 6e 20 69 6e  |e application in|
000064f0  20 74 68 65 20 6d 65 73  73 61 67 65 0a 62 6c 6f  | the message.blo|
00006500  63 6b 2e 20 20 49 74 20  73 65 74 73 20 74 68 65  |ck.  It sets the|
00006510  20 66 69 6c 65 20 6e 61  6d 65 20 61 74 20 52 31  | file name at R1|
00006520  2b 34 34 20 74 6f 20 3c  57 69 6d 70 24 53 63 72  |+44 to <Wimp$Scr|
00006530  61 70 3e 20 61 6e 64 20  52 31 2b 33 36 3d 2d 31  |ap> and R1+36=-1|
00006540  20 74 65 6c 6c 69 6e 67  20 0a 74 68 65 20 61 70  | telling .the ap|
00006550  70 6c 69 63 61 74 69 6f  6e 20 74 68 61 74 20 74  |plication that t|
00006560  68 65 20 64 61 74 61 20  69 73 20 6e 6f 74 20 73  |he data is not s|
00006570  61 66 65 20 61 6e 64 20  69 6d 70 6c 65 6d 65 6e  |afe and implemen|
00006580  74 69 6e 67 20 61 20 57  69 6d 70 20 70 72 6f 74  |ting a Wimp prot|
00006590  6f 63 6f 6c 0a 74 72 61  6e 73 66 65 72 2e 0a 0a  |ocol.transfer...|
000065a0  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
000065b0  73 20 70 61 73 73 65 64  20 3a 0a 0a 20 20 20 20  |s passed :..    |
000065c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 31  |              R1|
000065d0  20 20 20 20 2d 20 20 4d  65 73 73 61 67 65 20 62  |    -  Message b|
000065e0  6c 6f 63 6b 0a 0a 20 20  20 20 20 20 20 50 61 72  |lock..       Par|
000065f0  61 6d 65 74 65 72 73 20  72 65 74 75 72 6e 65 64  |ameters returned|
00006600  20 3a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  | :..            |
00006610  20 20 20 20 20 20 52 31  20 20 20 20 2d 20 20 4d  |      R1    -  M|
00006620  65 73 73 61 67 65 20 62  6c 6f 63 6b 0a 0a 2d 2d  |essage block..--|
00006630  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006670  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 57 53 57 69  |----------..WSWi|
00006680  6d 70 54 6f 6f 6c 73 5f  53 65 6e 64 4c 6f 61 64  |mpTools_SendLoad|
00006690  41 63 6b 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |Ack.------------|
000066a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 54 68 69  |-----------..Thi|
000066b0  73 20 63 61 6c 6c 20 73  65 6e 64 73 20 22 57 69  |s call sends "Wi|
000066c0  6d 70 20 4d 65 73 73 61  67 65 5f 44 61 74 61 4c  |mp Message_DataL|
000066d0  6f 61 64 41 63 6b 22 20  74 6f 20 74 68 65 20 61  |oadAck" to the a|
000066e0  70 70 6c 69 63 61 74 69  6f 6e 20 69 6e 20 74 68  |pplication in th|
000066f0  65 20 6d 65 73 73 61 67  65 20 62 6c 6f 63 6b 2e  |e message block.|
00006700  20 20 54 68 65 20 62 6c  6f 63 6b 20 73 68 6f 75  |  The block shou|
00006710  6c 64 20 62 65 20 74 68  65 20 73 61 6d 65 20 61  |ld be the same a|
00006720  73 20 74 68 65 20 6f 6e  65 20 72 65 74 75 72 6e  |s the one return|
00006730  65 64 20 62 79 20 57 69  6d 70 5f 50 6f 6c 6c 0a  |ed by Wimp_Poll.|
00006740  4d 65 73 73 61 67 65 5f  44 61 74 61 4c 6f 61 64  |Message_DataLoad|
00006750  20 28 70 6f 6c 6c 20 62  6c 6f 63 6b 21 31 36 3d  | (poll block!16=|
00006760  33 29 2e 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |3)...       Para|
00006770  6d 65 74 65 72 73 20 70  61 73 73 65 64 20 3a 0a  |meters passed :.|
00006780  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00006790  20 20 20 52 31 20 20 20  20 2d 20 20 4d 65 73 73  |   R1    -  Mess|
000067a0  61 67 65 20 62 6c 6f 63  6b 0a 0a 20 20 20 20 20  |age block..     |
000067b0  20 20 50 61 72 61 6d 65  74 65 72 73 20 72 65 74  |  Parameters ret|
000067c0  75 72 6e 65 64 20 3a 0a  0a 20 20 20 20 20 20 20  |urned :..       |
000067d0  20 20 20 20 20 20 20 20  20 20 20 52 31 20 20 20  |           R1   |
000067e0  20 2d 20 20 4d 65 73 73  61 67 65 20 62 6c 6f 63  | -  Message bloc|
000067f0  6b 0a 0a 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |k...------------|
00006800  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006840  20 20 20 20 20 20 20 0a  57 53 57 69 6d 70 54 6f  |       .WSWimpTo|
00006850  6f 6c 73 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |ols_LoadTemplate|
00006860  73 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |s.--------------|
00006870  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 54 68 69  |-----------..Thi|
00006880  73 20 63 61 6c 6c 20 6c  6f 61 64 73 20 61 6c 6c  |s call loads all|
00006890  20 74 68 65 20 77 69 6e  64 6f 77 73 20 69 6e 20  | the windows in |
000068a0  61 20 74 65 6d 70 6c 61  74 65 20 66 69 6c 65 2e  |a template file.|
000068b0  0a 0a 20 20 20 20 20 20  20 50 61 72 61 6d 65 74  |..       Paramet|
000068c0  65 72 73 20 70 61 73 73  65 64 20 3a 0a 0a 20 20  |ers passed :..  |
000068d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000068e0  52 31 20 20 20 20 2d 20  20 57 69 6e 64 6f 77 20  |R1    -  Window |
000068f0  74 72 61 6e 73 66 65 72  20 62 6c 6f 63 6b 20 28  |transfer block (|
00006900  20 4d 75 73 74 20 62 65  20 6c 6f 6e 67 20 65 6e  | Must be long en|
00006910  6f 75 67 68 0a 20 20 20  20 20 20 20 20 20 20 20  |ough.           |
00006920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006930  66 6f 72 20 74 68 65 20  77 69 6e 64 6f 77 20 64  |for the window d|
00006940  65 66 69 6e 69 74 69 6f  6e 20 61 6e 64 20 64 61  |efinition and da|
00006950  74 61 20 6f 66 20 74 68  65 20 0a 20 20 20 20 20  |ta of the .     |
00006960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006970  20 20 20 20 20 20 6c 6f  6e 67 65 73 74 20 77 69  |      longest wi|
00006980  6e 64 6f 77 20 69 6e 20  74 68 65 20 66 69 6c 65  |ndow in the file|
00006990  29 0a 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |)..             |
000069a0  20 20 20 20 20 52 32 20  20 20 20 2d 20 20 41 64  |     R2    -  Ad|
000069b0  64 72 65 73 73 20 6f 66  20 62 6c 6f 63 6b 20 74  |dress of block t|
000069c0  6f 20 73 74 6f 72 65 20  69 6e 64 69 72 65 63 74  |o store indirect|
000069d0  65 64 20 64 61 74 61 0a  20 20 20 20 20 20 20 20  |ed data.        |
000069e0  20 20 20 20 20 20 20 20  20 20 52 33 20 20 20 20  |          R3    |
000069f0  2d 20 20 45 6e 64 20 6f  66 20 74 68 65 20 61 62  |-  End of the ab|
00006a00  6f 76 65 20 62 6c 6f 63  6b 0a 20 20 20 20 20 20  |ove block.      |
00006a10  20 20 20 20 20 20 20 20  20 20 20 20 52 34 20 20  |            R4  |
00006a20  20 20 2d 20 20 41 64 64  72 65 73 73 20 6f 66 20  |  -  Address of |
00006a30  62 6c 6f 63 6b 20 74 6f  20 73 74 6f 72 65 20 77  |block to store w|
00006a40  69 6e 64 6f 77 20 68 61  6e 64 6c 65 73 20 61 6e  |indow handles an|
00006a50  64 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |d.              |
00006a60  20 20 20 20 20 20 20 20  20 20 20 20 20 74 65 6d  |             tem|
00006a70  70 6c 61 74 65 20 66 69  6c 65 20 77 69 6e 64 6f  |plate file windo|
00006a80  77 20 6e 61 6d 65 73 0a  0a 20 20 20 20 20 20 20  |w names..       |
00006a90  20 20 20 20 20 20 20 20  20 20 20 52 35 20 20 20  |           R5   |
00006aa0  20 2d 20 20 53 70 72 69  74 65 20 62 6c 6f 63 6b  | -  Sprite block|
00006ab0  20 28 3d 31 20 66 6f 72  20 77 69 6d 70 20 70 6f  | (=1 for wimp po|
00006ac0  6f 6c 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ol).            |
00006ad0  20 20 20 20 20 20 52 36  20 20 20 20 2d 20 20 32  |      R6    -  2|
00006ae0  35 36 20 62 79 74 65 20  62 6c 6f 63 6b 20 66 6f  |56 byte block fo|
00006af0  72 20 74 68 65 20 66 6f  6e 74 20 61 72 72 61 79  |r the font array|
00006b00  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00006b10  20 20 20 20 20 20 20 20  20 20 20 20 28 6f 72 20  |            (or |
00006b20  30 20 6f 72 20 2d 31 20  69 66 20 6e 6f 20 66 6f  |0 or -1 if no fo|
00006b30  6e 74 73 29 0a 0a 20 20  20 20 20 20 20 50 61 72  |nts)..       Par|
00006b40  61 6d 65 74 65 72 73 20  72 65 74 75 72 6e 65 64  |ameters returned|
00006b50  20 3a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  | :..            |
00006b60  20 20 20 20 20 20 52 30  20 20 20 20 2d 20 20 4e  |      R0    -  N|
00006b70  75 6d 62 65 72 20 6f 66  20 77 69 6e 64 6f 77 73  |umber of windows|
00006b80  20 6c 6f 61 64 65 64 0a  0a 2d 2d 2d 2d 2d 2d 2d  | loaded..-------|
00006b90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006bd0  2d 2d 2d 2d 2d 0a 0a 57  53 57 69 6d 70 54 6f 6f  |-----..WSWimpToo|
00006be0  6c 73 5f 57 69 6e 64 6f  77 43 6f 6e 76 65 72 74  |ls_WindowConvert|
00006bf0  50 61 72 61 6d 65 74 65  72 0a 2d 2d 2d 2d 2d 2d  |Parameter.------|
00006c00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00006c10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 54 68  |------------..Th|
00006c20  69 73 20 63 61 6c 6c 20  63 6f 6e 76 65 72 74 73  |is call converts|
00006c30  20 6f 6e 65 20 77 69 6e  64 6f 77 20 70 61 72 61  | one window para|
00006c40  6d 65 74 65 72 20 74 6f  20 61 6e 6f 74 68 65 72  |meter to another|
00006c50  20 70 61 72 61 6d 74 65  72 2e 0a 0a 20 20 20 20  | paramter...    |
00006c60  20 20 20 50 61 72 61 6d  65 74 65 72 73 20 70 61  |   Parameters pa|
00006c70  73 73 65 64 20 3a 0a 0a  20 20 20 20 20 20 20 20  |ssed :..        |
00006c80  20 20 20 20 20 20 20 20  20 20 52 30 20 20 20 20  |          R0    |
00006c90  2d 20 20 43 6f 6e 76 65  72 73 69 6f 6e 20 74 79  |-  Conversion ty|
00006ca0  70 65 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |pe..            |
00006cb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 30 20  |              0 |
00006cc0  20 2d 20 63 6f 6e 76 65  72 74 20 77 69 6e 64 6f  | - convert windo|
00006cd0  77 20 68 61 6e 64 6c 65  20 74 6f 20 6e 75 6d 62  |w handle to numb|
00006ce0  65 72 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |er.             |
00006cf0  20 20 20 20 20 20 20 20  20 20 20 20 20 31 20 20  |             1  |
00006d00  2d 20 63 6f 6e 76 65 72  74 20 77 69 6e 64 6f 77  |- convert window|
00006d10  20 68 61 6e 64 6c 65 20  74 6f 20 6e 61 6d 65 0a  | handle to name.|
00006d20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006d30  20 20 20 20 20 20 20 20  20 20 32 20 20 2d 20 63  |          2  - c|
00006d40  6f 6e 76 65 72 74 20 77  69 6e 64 6f 77 20 6e 75  |onvert window nu|
00006d50  6d 62 65 72 20 74 6f 20  68 61 6e 64 6c 65 0a 20  |mber to handle. |
00006d60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006d70  20 20 20 20 20 20 20 20  20 33 20 20 2d 20 63 6f  |         3  - co|
00006d80  6e 76 65 72 74 20 77 69  6e 64 6f 77 20 6e 75 6d  |nvert window num|
00006d90  62 65 72 20 74 6f 20 6e  61 6d 65 0a 20 20 20 20  |ber to name.    |
00006da0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006db0  20 20 20 20 20 20 34 20  20 2d 20 63 6f 6e 76 65  |      4  - conve|
00006dc0  72 74 20 77 69 6e 64 6f  77 20 6e 61 6d 65 20 74  |rt window name t|
00006dd0  6f 20 68 61 6e 64 6c 65  0a 20 20 20 20 20 20 20  |o handle.       |
00006de0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006df0  20 20 20 35 20 20 2d 20  63 6f 6e 76 65 72 74 20  |   5  - convert |
00006e00  77 69 6e 64 6f 77 20 6e  61 6d 65 20 74 6f 20 6e  |window name to n|
00006e10  75 6d 62 65 72 0a 0a 20  20 20 20 20 20 20 20 20  |umber..         |
00006e20  20 20 20 20 20 20 20 20  20 52 31 20 20 20 20 2d  |         R1    -|
00006e30  20 20 57 69 6e 64 6f 77  20 68 61 6e 64 6c 65 20  |  Window handle |
00006e40  62 6c 6f 63 6b 20 28 52  34 20 66 72 6f 6d 20 4c  |block (R4 from L|
00006e50  6f 61 64 54 65 6d 70 6c  61 74 65 73 29 0a 20 20  |oadTemplates).  |
00006e60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00006e70  52 32 20 20 20 20 2d 20  20 50 61 72 61 6d 65 74  |R2    -  Paramet|
00006e80  65 72 20 73 74 72 69 6e  67 20 6f 72 20 6e 75 6d  |er string or num|
00006e90  62 65 72 20 64 65 70 65  6e 64 69 6e 67 20 75 70  |ber depending up|
00006ea0  6f 6e 20 52 30 0a 0a 20  20 20 20 20 20 20 50 61  |on R0..       Pa|
00006eb0  72 61 6d 65 74 65 72 73  20 72 65 74 75 72 6e 65  |rameters returne|
00006ec0  64 20 3a 0a 0a 0a 20 20  20 20 20 20 20 20 20 20  |d :...          |
00006ed0  20 20 20 20 20 20 20 20  52 30 20 20 20 20 2d 20  |        R0    - |
00006ee0  20 52 65 73 75 6c 74 0a  0a 2d 2d 2d 2d 2d 2d 2d  | Result..-------|
00006ef0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00006f30  2d 2d 2d 2d 2d 0a 0a 57  53 57 69 6d 70 54 6f 6f  |-----..WSWimpToo|
00006f40  6c 73 5f 4c 6f 73 65 54  65 6d 70 6c 61 74 65 46  |ls_LoseTemplateF|
00006f50  6f 6e 74 73 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |onts.-----------|
00006f60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00006f70  2d 2d 0a 0a 54 68 69 73  20 53 57 49 20 73 68 6f  |--..This SWI sho|
00006f80  75 6c 64 20 62 65 20 63  61 6c 6c 65 64 20 77 68  |uld be called wh|
00006f90  65 6e 20 74 68 65 20 74  61 73 6b 20 69 73 20 73  |en the task is s|
00006fa0  68 75 74 74 69 6e 67 20  64 6f 77 6e 20 73 6f 20  |hutting down so |
00006fb0  74 68 61 74 20 74 68 65  20 66 6f 6e 74 0a 6d 61  |that the font.ma|
00006fc0  6e 61 67 65 72 20 63 61  6e 20 72 65 6c 65 61 73  |nager can releas|
00006fd0  65 20 74 68 65 20 66 6f  6e 74 73 20 61 6c 6c 6f  |e the fonts allo|
00006fe0  63 61 74 65 64 20 74 6f  20 74 68 65 20 77 69 6e  |cated to the win|
00006ff0  64 6f 77 20 74 65 6d 70  6c 61 74 65 73 2e 0a 0a  |dow templates...|
00007000  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
00007010  73 20 70 61 73 73 65 64  20 3a 0a 0a 20 20 20 20  |s passed :..    |
00007020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 31  |              R1|
00007030  20 20 20 20 2d 20 20 42  6c 6f 63 6b 20 66 6f 72  |    -  Block for|
00007040  20 66 6f 6e 74 20 61 72  72 61 79 0a 20 20 20 20  | font array.    |
00007050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007060  20 20 20 20 20 20 20 28  52 36 20 69 6e 20 4c 6f  |       (R6 in Lo|
00007070  61 64 54 65 6d 70 6c 61  74 65 73 20 61 62 6f 76  |adTemplates abov|
00007080  65 29 0a 0a 20 20 20 20  20 20 20 50 61 72 61 6d  |e)..       Param|
00007090  65 74 65 72 73 20 72 65  74 75 72 6e 65 64 20 3a  |eters returned :|
000070a0  0a 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000070b0  20 20 20 20 4e 6f 6e 65  0a 0a 2d 2d 2d 2d 2d 2d  |    None..------|
000070c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007100  2d 2d 2d 2d 2d 2d 0a 0a  57 53 57 69 6d 70 54 6f  |------..WSWimpTo|
00007110  6f 6c 73 5f 52 65 67 69  73 74 65 72 0a 2d 2d 2d  |ols_Register.---|
00007120  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00007130  2d 0a 0a 54 68 69 73 20  53 57 49 20 73 68 6f 75  |-..This SWI shou|
00007140  6c 64 20 62 65 20 63 61  6c 6c 65 64 20 77 68 65  |ld be called whe|
00007150  6e 20 74 68 65 20 74 61  73 6b 20 69 73 20 66 69  |n the task is fi|
00007160  72 73 74 20 72 75 6e 20  69 66 20 74 68 65 20 74  |rst run if the t|
00007170  61 73 6b 20 69 73 20 74  6f 20 75 73 65 0a 74 68  |ask is to use.th|
00007180  65 20 6d 6f 64 75 6c 65  73 20 72 6f 75 74 69 6e  |e modules routin|
00007190  65 73 20 74 6f 20 61 6c  6c 6f 63 61 74 65 20 52  |es to allocate R|
000071a0  4d 41 20 73 70 61 63 65  20 28 73 75 63 68 20 61  |MA space (such a|
000071b0  73 20 69 6e 20 4c 6f 61  64 53 70 72 69 74 65 73  |s in LoadSprites|
000071c0  20 62 65 6c 6f 77 29 2e  0a 54 68 65 20 6d 6f 64  | below)..The mod|
000071d0  75 6c 65 20 77 69 6c 6c  20 74 68 65 6e 20 73 65  |ule will then se|
000071e0  74 20 61 73 69 64 65 20  61 20 64 61 74 61 20 62  |t aside a data b|
000071f0  6c 6f 63 6b 20 64 65 73  63 72 69 62 69 6e 67 20  |lock describing |
00007200  6d 65 6d 6f 72 79 20 61  6c 6c 6f 63 61 74 65 64  |memory allocated|
00007210  20 74 6f 0a 74 68 65 20  74 61 73 6b 2e 20 20 54  | to.the task.  T|
00007220  68 69 73 20 53 57 49 20  6e 65 65 64 20 6e 6f 74  |his SWI need not|
00007230  20 62 65 20 63 61 6c 6c  65 64 20 69 66 20 52 4d  | be called if RM|
00007240  41 20 73 70 61 63 65 20  69 73 20 6e 6f 74 20 62  |A space is not b|
00007250  65 69 6e 67 20 75 73 65  64 2e 20 20 54 68 65 0a  |eing used.  The.|
00007260  6d 6f 64 75 6c 65 20 63  61 6e 20 68 61 6e 64 6c  |module can handl|
00007270  65 20 61 20 6d 61 78 69  6d 75 6d 20 6f 66 20 33  |e a maximum of 3|
00007280  31 20 74 61 73 6b 73 20  72 65 67 69 73 74 65 72  |1 tasks register|
00007290  65 64 2e 0a 0a 20 20 20  20 20 20 20 50 61 72 61  |ed...       Para|
000072a0  6d 65 74 65 72 73 20 70  61 73 73 65 64 20 3a 0a  |meters passed :.|
000072b0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000072c0  20 20 20 4e 6f 6e 65 0a  0a 20 20 20 20 20 20 20  |   None..       |
000072d0  50 61 72 61 6d 65 74 65  72 73 20 72 65 74 75 72  |Parameters retur|
000072e0  6e 65 64 20 3a 0a 0a 20  20 20 20 20 20 20 20 20  |ned :..         |
000072f0  20 20 20 20 20 20 20 20  20 52 30 20 2d 20 54 61  |         R0 - Ta|
00007300  73 6b 20 69 64 20 28 66  6f 72 20 75 73 65 20 69  |sk id (for use i|
00007310  6e 20 57 53 57 69 6d 70  54 6f 6f 6c 73 20 53 57  |n WSWimpTools SW|
00007320  49 73 20 77 68 69 63 68  20 61 6c 6c 6f 63 61 74  |Is which allocat|
00007330  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
00007340  20 20 20 20 20 20 20 20  20 52 4d 41 20 73 70 61  |         RMA spa|
00007350  63 65 20 74 6f 20 74 68  65 20 74 61 73 6b 29 0a  |ce to the task).|
00007360  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00007370  20 20 20 52 31 20 2d 20  61 64 64 72 65 73 73 20  |   R1 - address |
00007380  6f 66 20 33 32 20 62 79  74 65 20 62 6c 6f 63 6b  |of 32 byte block|
00007390  20 64 65 73 63 72 69 62  69 6e 67 20 74 68 65 20  | describing the |
000073a0  52 4d 41 20 73 70 61 63  65 0a 20 20 20 20 20 20  |RMA space.      |
000073b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000073c0  20 61 6c 6c 6f 63 61 74  65 64 20 28 75 6e 69 71  | allocated (uniq|
000073d0  75 65 20 74 6f 20 74 68  69 73 20 74 61 73 6b 29  |ue to this task)|
000073e0  0a 0a 4e 4f 54 45 20 2d  20 43 55 52 52 45 4e 54  |..NOTE - CURRENT|
000073f0  4c 59 20 54 48 49 53 20  43 41 4c 4c 20 49 53 20  |LY THIS CALL IS |
00007400  4f 4e 4c 59 20 4e 45 43  45 53 53 41 52 59 20 49  |ONLY NECESSARY I|
00007410  46 20 57 53 57 69 6d 70  54 6f 6f 6c 73 5f 4c 6f  |F WSWimpTools_Lo|
00007420  61 64 53 70 72 69 74 65  73 20 49 53 0a 20 20 20  |adSprites IS.   |
00007430  20 20 20 20 47 4f 49 4e  47 20 54 4f 20 42 45 20  |    GOING TO BE |
00007440  55 53 45 44 2e 20 20 41  20 4c 41 54 45 52 20 56  |USED.  A LATER V|
00007450  45 52 53 49 4f 4e 20 4f  46 20 54 48 45 20 4d 4f  |ERSION OF THE MO|
00007460  44 55 4c 45 20 57 49 4c  4c 20 41 4c 4c 4f 57 20  |DULE WILL ALLOW |
00007470  41 4c 4c 20 44 41 54 41  0a 20 20 20 20 20 20 20  |ALL DATA.       |
00007480  57 48 49 43 48 20 49 53  20 53 54 4f 52 45 44 20  |WHICH IS STORED |
00007490  49 4e 20 42 4c 4f 43 4b  53 20 49 4e 20 54 48 49  |IN BLOCKS IN THI|
000074a0  53 20 4d 4f 44 55 4c 45  20 54 4f 20 42 45 20 53  |S MODULE TO BE S|
000074b0  54 4f 52 45 44 20 49 4e  20 54 48 45 20 52 4d 41  |TORED IN THE RMA|
000074c0  0a 20 20 20 20 20 20 20  42 59 20 52 45 50 4c 41  |.       BY REPLA|
000074d0  43 49 4e 47 20 54 48 45  20 42 4c 4f 43 4b 20 41  |CING THE BLOCK A|
000074e0  44 44 52 45 53 53 20 57  49 54 48 20 54 48 45 20  |DDRESS WITH THE |
000074f0  54 41 53 4b 20 49 44 2e  0a 0a 2d 2d 2d 2d 2d 2d  |TASK ID...------|
00007500  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007540  2d 2d 2d 2d 2d 2d 0a 0a  57 53 57 69 6d 70 54 6f  |------..WSWimpTo|
00007550  6f 6c 73 5f 44 65 52 65  67 69 73 74 65 72 0a 2d  |ols_DeRegister.-|
00007560  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00007570  2d 2d 2d 2d 2d 0a 0a 54  68 69 73 20 53 57 49 20  |-----..This SWI |
00007580  73 68 6f 75 6c 64 20 62  65 20 63 61 6c 6c 65 64  |should be called|
00007590  20 77 68 65 6e 20 74 68  65 20 74 61 73 6b 20 69  | when the task i|
000075a0  73 20 73 68 75 74 74 69  6e 67 20 64 6f 77 6e 20  |s shutting down |
000075b0  73 6f 20 74 68 61 74 20  74 68 65 20 6d 6f 64 75  |so that the modu|
000075c0  6c 65 0a 63 61 6e 20 72  65 6c 65 61 73 65 20 61  |le.can release a|
000075d0  6e 79 20 52 4d 41 20 73  70 61 63 65 20 69 74 20  |ny RMA space it |
000075e0  68 61 73 20 61 6c 6c 6f  63 61 74 65 64 20 74 6f  |has allocated to|
000075f0  20 74 68 65 20 74 61 73  6b 2e 20 20 49 66 20 74  | the task.  If t|
00007600  68 69 73 20 69 73 20 6e  6f 74 0a 63 61 6c 6c 65  |his is not.calle|
00007610  64 20 74 68 65 6e 20 74  68 65 20 6d 65 6d 6f 72  |d then the memor|
00007620  79 20 77 69 6c 6c 20 62  65 20 6c 6f 73 74 20 75  |y will be lost u|
00007630  6e 74 69 6c 20 74 68 65  20 57 69 6d 70 54 6f 6f  |ntil the WimpToo|
00007640  6c 73 20 6d 6f 64 75 6c  65 20 69 73 20 52 4d 4b  |ls module is RMK|
00007650  69 6c 6c 65 64 2e 0a 28  57 68 65 6e 20 69 74 20  |illed..(When it |
00007660  77 69 6c 6c 20 61 75 74  6f 6d 61 74 69 63 61 6c  |will automatical|
00007670  6c 79 20 72 65 6c 65 61  73 65 20 61 6e 79 20 75  |ly release any u|
00007680  73 65 64 20 52 4d 41 20  73 70 61 63 65 29 0a 0a  |sed RMA space)..|
00007690  20 20 20 20 20 20 20 50  61 72 61 6d 65 74 65 72  |       Parameter|
000076a0  73 20 70 61 73 73 65 64  20 3a 0a 0a 20 20 20 20  |s passed :..    |
000076b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 30  |              R0|
000076c0  20 20 20 20 2d 20 20 54  61 73 6b 20 69 64 20 28  |    -  Task id (|
000076d0  73 65 65 20 61 62 6f 76  65 29 0a 0a 20 20 20 20  |see above)..    |
000076e0  20 20 20 50 61 72 61 6d  65 74 65 72 73 20 72 65  |   Parameters re|
000076f0  74 75 72 6e 65 64 20 3a  0a 0a 20 20 20 20 20 20  |turned :..      |
00007700  20 20 20 20 20 20 20 20  20 20 20 20 4e 6f 6e 65  |            None|
00007710  0a 0a 57 41 52 4e 49 4e  47 20 2d 20 54 48 49 53  |..WARNING - THIS|
00007720  20 43 41 4c 4c 20 4d 55  53 54 20 42 45 20 43 41  | CALL MUST BE CA|
00007730  4c 4c 45 44 20 57 48 45  4e 20 54 48 45 20 54 41  |LLED WHEN THE TA|
00007740  53 4b 20 49 53 20 51 55  49 54 54 49 4e 47 20 28  |SK IS QUITTING (|
00007750  45 49 54 48 45 52 0a 20  20 20 20 20 20 20 20 20  |EITHER.         |
00007760  20 4e 4f 52 4d 41 4c 4c  59 20 4f 52 20 44 55 45  | NORMALLY OR DUE|
00007770  20 54 4f 20 41 4e 20 45  52 52 4f 52 29 20 4f 54  | TO AN ERROR) OT|
00007780  48 45 52 57 49 53 45 20  52 4d 41 20 53 50 41 43  |HERWISE RMA SPAC|
00007790  45 20 41 4e 44 20 4d 4f  44 55 4c 45 0a 20 20 20  |E AND MODULE.   |
000077a0  20 20 20 20 20 20 20 53  50 41 43 45 20 57 49 4c  |       SPACE WIL|
000077b0  4c 20 42 45 20 4c 4f 53  54 20 41 4e 44 20 53 4f  |L BE LOST AND SO|
000077c0  20 54 48 45 20 45 52 52  4f 52 20 48 41 4e 44 4c  | THE ERROR HANDL|
000077d0  45 52 20 53 48 4f 55 4c  44 20 43 41 4c 4c 20 49  |ER SHOULD CALL I|
000077e0  54 20 49 4e 20 54 48 45  0a 20 20 20 20 20 20 20  |T IN THE.       |
000077f0  20 20 20 43 41 53 45 20  4f 46 20 41 20 46 41 54  |   CASE OF A FAT|
00007800  41 4c 20 45 52 52 4f 52  2e 0a 2d 2d 2d 2d 2d 2d  |AL ERROR..------|
00007810  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007850  2d 2d 2d 2d 2d 2d 0a 0a  57 53 57 69 6d 70 54 6f  |------..WSWimpTo|
00007860  6f 6c 73 5f 4c 6f 61 64  53 70 72 69 74 65 73 0a  |ols_LoadSprites.|
00007870  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00007880  2d 2d 2d 2d 2d 2d 2d 0a  0a 54 68 69 73 20 53 57  |-------..This SW|
00007890  49 20 61 6c 6c 6f 63 61  74 65 73 20 73 6f 6d 65  |I allocates some|
000078a0  20 52 4d 41 20 73 70 61  63 65 20 61 6e 64 20 73  | RMA space and s|
000078b0  65 74 73 20 75 70 20 61  20 73 70 72 69 74 65 20  |ets up a sprite |
000078c0  70 6f 6f 6c 20 6c 6f 61  64 69 6e 67 20 74 68 65  |pool loading the|
000078d0  20 66 69 6c 65 0a 67 69  76 65 6e 20 69 6e 74 6f  | file.given into|
000078e0  20 74 68 65 20 73 70 72  69 74 65 20 70 6f 6f 6c  | the sprite pool|
000078f0  2e 20 20 54 68 65 20 63  61 6c 6c 20 69 73 20 69  |.  The call is i|
00007900  6e 74 65 6e 64 65 64 20  66 6f 72 20 6c 6f 61 64  |ntended for load|
00007910  69 6e 67 20 74 68 65 0a  61 70 70 6c 69 63 61 74  |ing the.applicat|
00007920  69 6f 6e 73 20 77 69 6e  64 6f 77 20 73 70 72 69  |ions window spri|
00007930  74 65 73 20 61 73 20 74  68 65 20 62 6c 6f 63 6b  |tes as the block|
00007940  20 63 61 6e 6e 6f 74 20  62 65 20 65 78 74 65 6e  | cannot be exten|
00007950  64 65 64 2e 20 20 41 6c  73 6f 20 74 68 65 20 6d  |ded.  Also the m|
00007960  6f 64 75 6c 65 0a 63 61  6e 6e 6f 74 20 68 61 6e  |odule.cannot han|
00007970  64 6c 65 20 74 68 69 73  20 63 61 6c 6c 20 6d 6f  |dle this call mo|
00007980  72 65 20 74 68 61 6e 20  6f 6e 63 65 20 70 65 72  |re than once per|
00007990  20 61 70 70 6c 69 63 61  74 69 6f 6e 2e 0a 0a 20  | application... |
000079a0  20 20 20 20 20 20 50 61  72 61 6d 65 74 65 72 73  |      Parameters|
000079b0  20 70 61 73 73 65 64 20  3a 0a 0a 20 20 20 20 20  | passed :..     |
000079c0  20 20 20 20 20 20 20 20  20 20 20 20 20 52 30 20  |             R0 |
000079d0  20 20 20 2d 20 20 54 61  73 6b 20 69 64 20 28 73  |   -  Task id (s|
000079e0  65 65 20 61 62 6f 76 65  29 0a 20 20 20 20 20 20  |ee above).      |
000079f0  20 20 20 20 20 20 20 20  20 20 20 20 52 31 20 20  |            R1  |
00007a00  20 20 2d 20 20 46 69 6c  65 6e 61 6d 65 20 66 6f  |  -  Filename fo|
00007a10  72 20 73 70 72 69 74 65  20 66 69 6c 65 0a 0a 20  |r sprite file.. |
00007a20  20 20 20 20 20 20 50 61  72 61 6d 65 74 65 72 73  |      Parameters|
00007a30  20 72 65 74 75 72 6e 65  64 20 3a 0a 0a 20 20 20  | returned :..   |
00007a40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 52  |               R|
00007a50  31 20 20 20 20 2d 20 20  41 64 64 72 65 73 73 20  |1    -  Address |
00007a60  6f 66 20 73 70 72 69 74  65 20 62 6c 6f 63 6b 0a  |of sprite block.|
00007a70  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.---------------|
00007a80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007ab0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 57  |-------------..W|
00007ac0  53 57 69 6d 70 54 6f 6f  6c 73 5f 47 65 74 4c 65  |SWimpTools_GetLe|
00007ad0  61 66 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |af.-------------|
00007ae0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 54 68 69 73  |----------..This|
00007af0  20 53 57 49 20 67 65 74  73 20 74 68 65 20 6c 65  | SWI gets the le|
00007b00  61 66 20 6e 61 6d 65 20  6f 66 20 61 20 66 69 6c  |af name of a fil|
00007b10  65 6e 61 6d 65 2e 0a 0a  20 20 20 20 20 20 20 50  |ename...       P|
00007b20  61 72 61 6d 65 74 65 72  73 20 70 61 73 73 65 64  |arameters passed|
00007b30  20 3a 0a 0a 20 20 20 20  20 20 20 20 20 20 20 20  | :..            |
00007b40  20 20 20 20 20 20 52 30  20 20 20 20 2d 20 20 46  |      R0    -  F|
00007b50  75 6c 6c 20 66 69 6c 65  6e 61 6d 65 0a 0a 20 20  |ull filename..  |
00007b60  20 20 20 20 20 50 61 72  61 6d 65 74 65 72 73 20  |     Parameters |
00007b70  72 65 74 75 72 6e 65 64  20 3a 0a 0a 20 20 20 20  |returned :..    |
00007b80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 31  |              R1|
00007b90  20 20 20 20 2d 20 20 4c  65 61 66 20 6e 61 6d 65  |    -  Leaf name|
00007ba0  0a 0a 0a                                          |...|
00007ba3