Showing changes from revision #2 to #3:
Added | Removed | Changed
Entry | |
---|---|
R0 | AutoScroll Entry Flags or 0 to cancel autoscrolling |
R1 | Pointer to AutoScroll Block ignored if R0 = 0 |
Exit | |
---|---|
R0 | AutoScroll |
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 text selection.
In the latter case after a drag button Mouse_Click event you start a drag with Wimp_DragBox, call Wimp_AutoScroll 3,autoscrollblk R0=3 R1=AutoScrollBlock and when you get a User_Drag_Box event after the mouse button is released you call Wimp_AutoScroll 0. R0=0 to switch off autoscrolling.
The flags returned from AutoScroll inform you of its current status. If you need to monitor this during the drag you need to call AutoScroll 7,autoscrollblk where autoscrollblk has the same information as your original Autoscroll call. 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.