Showing changes from revision #6 to #7:
Added | Removed | Changed
Exit | |
---|---|
Block | |
+0 | Window handle |
+4 | Visible area minimum x |
+8 | Visible area minimum y |
+12 | Visible area maximum x |
+16 | Visible area maximum y |
+20 | Scroll x offset |
+24 | Scroll y offset |
+28 | Handle to open window behind (-1 top of stack, -2 for bottom of stack) |
+32 | Scroll x direction |
+36 | Scroll y direction |
+40 | Destination icon handle (or -1 for window work area); only present for extended scroll requests |
This code is returned from Wimp_Poll and indicates that a user is requesting to scroll a window. It contains the current scroll offsets and the direction that the window is being asked to scroll.
This event code is only used returned for if both one “Normal” scroll requests and “Extended” scroll requests. Applications can determine which type of scroll request they’ve received by examining the Scroll x Requests direction & Scroll y direction fields. If the bottom two bits of both fields are set zero, in it the is an extended scroll request. Otherwise, it is a normal scroll request.Window Flag of the window being asked to scroll.
It “Normal” returns the current scroll offsets requests and are only sent to windows if one of the direction Scroll that Requests bits are set in the window is being asked to scroll.Window Flag of the window being asked to scroll.
“Extended” scroll requests can either be directed towards the window work area or an icon. Window work areas will only receive the event if they advertise support for extended scroll requests via bit 1 of the Extra Window Flags. Icons will only receive the event if they advertise support for via the ‘YS’ validation string flag.
To actually implement the window scroll, applications must call Wimp_OpenWindow after the new scroll offsets have been calculated.
The scroll offsets are in OS units, so an applications wishing to scroll in pixels must carry out the necessary scaling to calculate the correct values.