|   Wimp_ReadSysInfoWimp_ReadSysInfo provides a generic means of reading various details from the Window Manager about its capabilities, configuration and operation. The SWI has been extended in most versions of the module to cover the new features and allow them to be used in a more robust and reliable manner. With Select 3 the list has again been extended to cover new features which have been introduced. For completeness, the full list of reasons that this SWI may take are (see elsewhere for details of their use) : 
  Read number of active tasks
  Read current Wimp mode
  Read suffix to append to filenames
  Read status of command window
  Current write direction
  Current task handle
  Reserved for internal use
  Wimp version number
  Outline font being used as system font
  Toolsprites sprite area
  Reserved for internal use
  Application space size
  Reserved for internal use
  Reserved for internal use
  Reserved for internal use
  Reserved for internal use
  Read user/ROM sprite pools
  Default autoscroll pause delay
  Reserved for internal use
  Read low/high/priority sprite pools
  Read special highlighting colours
  Read text selection details
  Read default caret colour
  Read mouse drag detection settings
  Read double click detection settings
  Read auto-menu opening settings
  Read iconbar speed and acceleration
  Read screen edge notification settings
 Any reason which is not understood by the WindowManager will return an error. 
 Wimp_ReadSysInfo 19On entry   R0 = 19 On exit   R0 = pointer to priority sprite pool
   R1 = pointer to high sprite pool
   R2 = pointer to low sprite pool This SWI reads the sprite pools being used to hold sprites. These are searched in the order 'priority', 'high' before the sprite is declared not found. The 'priority' sprite pool can be added to with the '*IconSprites -priority' command. The 'high' sprite pool is the pool is examined first. If 'Protect ROM sprites' is enabled the 'high' pool is the ROM pool and the 'low' pool is the standard RAM pool. If 'Protect ROM sprites' is disabled the 'high' pool is the RAM pool and the 'low' pool is the ROM pool. Wimp_ReadSysInfo 20On entry   R0 = 20 On exit   R0 = special highlighting background colour, or -1 if disabled
   R1 = special highlighting foreground colour if R0 = -1 This SWI reads the 'special' highlighting colours defined with *WimpVisualFlags. The special highlighting colours are used when an icon uses the 'standard' colours (background of grey 1, and foreground of black) and is selected. This can make selections easier to see for the user. Where applications render icons themselves (without the WindowManager's interaction) it may be necessary to read these settings to ensure that the application follows the users configured choices. Wimp_ReadSysInfo 21On entry   R0 = 21
   R2 = 1 On exit   R0 = text selection background colour, or -1 if selection colours disabled
   R1 = text selection foreground colour if R0 = -1
   R2 = text selection flags:
         bit 0 - Text selections are enabled
         bit 1-2 - Operation on text insert:
                     0 = no operation, leave selection alone
                     1 = delete selection
                     2 = clear selected region
                     3 = cut selection
         bits 3-4 -      Operation on text delete (as above)
         bits 5-6 -      Operation on caret move within icon (as above)
         bit 7 -      Auto-select text on caret entering icon
         bits 8-31 - Reserved for future expansionThis SWI is used to read the text selection colours and flags, as defined with *WimpTextSelection. The text selection colours are used for selections of text made by the user in writable icons. Applications drawing text themselves (without the WindowManager's interaction) may need to read the settings with this call in order to ensure that it follows the users configured choices. Under some versions of the WindowManager the flags were not returned in this call and it is therefore necessary to pass R2 as 1 to indicate that text selections are enabled as a standard default. Wimp_ReadSysInfo 22On entry   R0 = 22 On exit   R0 = default caret colour, or -1 if standard colour in use (Wimp 11)
   R1 = actual caret colour, R0 or colour value of Wimp 11 if standard colour is in use This SWI is used to read the default caret colour. The default caret colour under earlier versions of the WindowManager has been Wimp 11 (red), but this can be modified by the user to allow for cases where the standard colour is not visible. This may also be used to better match the selection colours used by the user. The colour may be changed by *WimpVisualFlags. On earlier systems, this call will generate an error. Wimp_ReadSysInfo 23On entry   R0 = 23 On exit   R0 = OS units movement which will cancel a drag
   R1 = delay with button pressed before a drag is detected (cs) This SWI is used to read the settings used to detect a drag. The settings are configured through *Configure WimpDragMove and WimpDragDelay. On earlier systems, this call will generate an error. Wimp_ReadSysInfo 24On entry   R0 = 24 On exit   R0 = OS units movement which will cancel a double click
   R1 = delay between clicks for which a double click will be detected (cs) This SWI is used to read the settings used to detect a double-click. The settings are configured through *Configure WimpDoubleClickMove and WimpDoubleClickDelay. It is expected that clients implementing multiple clicks (for example triple or quadruple clicks) will require these settings in order to follow the configured behaviour of the Wimp. On earlier systems, this call will generate an error. Wimp_ReadSysInfo 25On entry   R0 = 25 On exit   R0 = delay over a menu item after which the menu will open (cs)
   R1 = delay after an automatic open for which mouse moves are ignored (cs) This SWI is used to read the settings used to detect whether a submenu entry should be opened automatically. The settings are configured through *Configure WimpAutoMenuDelay and *Configure WimpMenuDragDelay. It is expected that clients providing a private implementation of menu-like dialogues will require these settings in order to follow the configured behaviour of the Wimp. On earlier systems, this call will generate an error. 
 Wimp_ReadSysInfo 26On entry   R0 = 25 On exit   R0 = speed of iconbar scrolling (OS units/second)
   R1 = acceleration of iconbar scrolling (OS units/second^2) This SWI is used to read the settings used to scroll the iconbar when the mouse is at its edge. The settings are configured through *Configure WimpIconBarSpeed and *Configure WimpIconBarAcceleration. On earlier systems, this call will generate an error. Wimp_ReadSysInfo 27On entry   R0 = 27 On exit   R0 = delay at edge of the screen before a notification is issued (cs) This SWI is used to read the settings used to notify applications that the mouse has idled at the edge of the screen. This setting is not presently configurable. On earlier systems, this call will generate an error. |