Wimp_ReadSysInfo
Wimp_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 19
On 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 20
On 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 21
On 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 expansion
This 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 22
On 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 23
On 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 24
On 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 25
On 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 26
On 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 27
On 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.
|