=> R0 = Last Wimp version known × 100
R1 = "TASK" (&4B534154)
R2 = pointer to short description for taskmanager
R3 = pointer to list of acceptable user messages.
<= R0 = Current Wimp version * 100
R1 = task handle
If a list of user messages is given the task will not be polled in for other messages - swapping the memory associated with tasks is time consuming, so not having to do this for a message that the task will only ignore gives a large speedup. The task can alter this list if necessary with Wimp_AddMessages and Wimp_RemoveMessages. Before the program terminates, it should call Wimp_CloseDown.
See PRM 3, page 87.
Known Wimp version
Value Meaning
200 RISC OS 2 Window Manager
No use of pollwords, indirected menu titles, menu help, validation strings R, K and P, only Wimp_ReadSysInfo 0 supported, sprites in icons do not use colour translations, messages may not be 'filtered' with Wimp_AddMessages, etc
300 RISC OS 3.00 Window Manager
Message 'filtering' is broken, Wimp_ReadSysInfo 1 to 7 supported
310 RISC OS 3.10 Window Manager
Message 'filtering' fixed. No use of Wimp_TextOp, Wimp_SetWatchdogState, Wimp_ResizeIcon.
350 RISC OS 3.50-3.70 Window Manager
Wimp_ReadSysInfo 8 to 10 supported, Wimp_ReportError may have extra buttons
*nb*: not recognised as an official version
380 Softloadable nested Window Manager
Nestable windows added, validation string C added, h option in validation string L implemented, 'partial' full size windows implemented, windows may now be opened or forceably redrawn by other tasks
Within this list it is assumed that the features not present in higher versions of the Window Manager are also not present in lower versions.
In the event of the version given being later than the version of the Wimp available, then an error will be generated.
Wimp_Initialise R3 (RISC OS 3.00)
In RISC OS 3.00, but not later versions, R3 on entry to Wimp_Initialise should contain a list of acceptable user messages, terminated by a 0 word.
If R3 = 0 then all messages are classified as important.
In R3 contains a pointer to a list containing merely the 0 word then no messages are important.
[most of this is speculation. anyone care to fill in the details?]
Wimp_Initialise R3 (RISC OS 3.10+)
In RISC OS 3.10 or later, R3 on entry to Wimp_Initialise should contain a list of acceptable user messages, terminated by a 0 word.
In R3 = 0 then no messages are classified as important except for the 'Quit' message.
In R3 contains a pointer to a list containing merely the 0 word then all messages are classified as important.
|
|
|