AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
=>     R0 =     flags
     R1 =     pointer to block (if flags b0 or b1 set)
<=     R0 =     new flags

This call controls how the Wimp automatically scrolls an application's windows.
Wimp_AutoScroll block
Offset     Meaning

0     Window handle of window to scroll
4     Left pause zone width
8     Bottom pause zone height
12     Right pause zone width
16     Top pause zone height
20     Pause duration in centiseconds
           -1      configured pause length
           0      no pause
           Other     duration in cs
24     State change handler:
           0     none
           1     use Wimp's pointer shape routine
           > 1     pointer to a routine.
28     Value to pass in R12 to state change handler routine (if applicable)

Zone sizes are in OS units, and are ignored unless the relevent flag bit is set. A sensible default for these is 80.
Wimp_AutoScroll R0 entry flags
Bit     Meaning when set

0     Enable horizontal autoscrolling
1     Enable vertical autoscrolling
2     Delegate window repositioning to task (send Scroll_Requests rather than Open_Window_Requests
7     Just read the current states of all flags.
Other bits are reserved.
Wimp_AutoScroll exit flags
Bits     Meaning when set

0-2     are preserved or read, according to bit 7 on entry.
7     is cleared
8     Autoscrolling has commenced (this bit is set after a pause is completed, and remains set when a scroll has "hit the stops", but is cleared again when the pointer re-enters the centre zone)
9     Pointer is outside the window's visible area
10     Pointer is within one or two pause zones
11     Pointer is within the centre zone
12     Pointer is left of the centre zone
13     Pointer is below the centre zone
14     Pointer is right of the centre zone
15     Pointer is above the centre zone
16     There is work area to the left of the visible area (always cleared if bit 0 is clear)
17     There is work area below the visible area (always cleared if bit 1 is clear)
18     There is work area to the right of the visible area (always cleared if bit 0 is clear)
19     There is work area above the visible area (always cleared if bit 1 is clear)
Other bits must be ignored.

[sh-index] Back to list of manuals