AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
R1 =     0 or -1     Close immediate window
=     1     Check for mouse click in immediate window
=     2     Open immediate requester and wait for mouse click
=     3     Redraw icon - icon handle in R0
=     4     Slab icon - icon handle in R0 (-1 to use currently slabbed icon), R2 = 1 to slab in, 0 to slab out
=     5     Limit pointer to immediate window
=     6     Redraw icon's 3D border - icon handle in R0
=     7     Redraw icon:
             R0 =     pointer to icon block
             R2 =     'Work area' X origin
             R3 =     'Work area' Y origin
>=     &8000     Open immediate window using data pointed to by R1
If R1 = 2 then rest of registers as for WimpExt_OpenRequester
Exit:
If R0 = 1 or 2 : R0 = Icon handle of icon clicked on, or -1 for none

This SWI is for using windows like the Wimp_ReportError window that are not
multi-tasking. You can only have one 'immediate window' open at a time, it is
always on top of the window pile, and you MUST NOT call 'Wimp_Poll' while the
immediate window is open.

If R1 is 0 or -1 on entry, the immediate window is closed. If it was not open
then no error is generated.

If R1 is 1 on entry, then the program will check for mouse clicks on icons in
the window. 3D icons will be slabbed automatically. -1 is returned if no icon
was clicked on.

If R1 is 2 on entry, the rest of the registers are as for
WimpExt_OpenRequester. It opens an 'immediate requester' and waits for a
mouse click on one of the action buttons, or ESCAPE or RETURN. The icon
clicked on is returned in R0.

If R1 is 3 on entry, the icon in the immediate window whose handle is in R0
will be redrawn (presumably because you have changed the indirected data).
The 3D border is not redrawn.

If R1 is 4 on entry, the icon whose handle is in R0 will be slabbed in or out
depending on R2 - similar to WimpExt_SlabIcon for normal icons. If the
specified icon handle is -1 and R2 is 0 then the currently slabbed icon (if
any) is used.

If R1 is 5, the mouse rectangle is redefined to be the size of the immediate
window - similar to WimpExt_LimitPointer for normal windows. Use
WimpExt_ReleasePointer to release the pointer again afterwards.

If R1 is 6, the specified icon's 3D border is redrawn.

If R1 is 7, the specified icon is drawn. You do not need to have an immediate
window open to use this reason code.

If R1 is greater than or equal to &8000 on entry, then an immediate window is
created from the Wimp_CreateWindow block pointed to by R1.
If you call WimpExt_PrePoll while an immediate window is open then it will be
closed automatically - the Wimp does not know about immediate windows and the
screen display would become corrupted if you kept an immediate window open
over a call to Wimp_Poll[Idle].
Icon types currently supported are:
sprite-only non-indirected
text-only, all types
Unknown icon types will be ignored.

[sh-index] Back to list of manuals