Entry | |
---|---|
R0 | AutoScroll Entry Flags or 0 to cancel autoscrolling |
R1 | Pointer to AutoScroll Block |
Ignored if R0 = 0 – disable AutoScroll | |
Used for entry if R0 bits 0 or 1 set and bit 7 clear – enable AutoScroll. | |
Filled at exit if R0 bit 7 is set – read AutoScroll status. | |
Exit | |
R0 | AutoScroll Status Flags |
The purpose of this call is to control how the Wimp automatically scrolls an application’s windows.
Typical use is to handle the window scrolling whilst dragging in a window either as part of the drag and drop protocol or when dragging one end of a selection.
In the latter case after a drag button Mouse_Click event you start a drag with Wimp_DragBox, call Wimp_AutoScroll R0=3 R1=AutoScrollBlock and when you get a User_Drag_Box event after the mouse button is released you call Wimp_AutoScroll R0=0 to switch off autoscrolling.
If bit 7 (Read Status) is set on entry other entry flags are ignored. If the Status Flags returned in R0 have bits 0 or 1 set (AutoScroll has been enabled) the AutoScrollBlock in R1 is filled with the values used when AutoScroll was enabled.
This call is application specific, and not system wide.
The window handle in the block passed in R1 when enabling AutoScroll must be owned by the calling task.
Only 1 window can use autoscroll at a time so when you are finished with it you should cancel it.