- 29 Apr, 2020 1 commit
-
-
Jeffrey Lee authored
When performing a scroll operation, the previous version of the module would send all the scroll requests at once, causing the target to instantly jump to the new position. This new version will split the operation multiple chunks (with calls to Wimp_Poll / Wimp_PollIdle inbetween), which allows for: 1. The scroll speed/scale factor to be applied when normal "scroll" wimp messages are used (i.e. "line scroll" option is enabled). This was effectively impossible to support in the previous version, because it requires the module to send a scroll request to the target task, wait for the target to have acted on it (i.e. wait for the next null poll), and then read the window state to determine how far it scrolled (so that future scroll requests can use that value to judge how many scroll requests must be sent to get the desired motion) 2. Smooth (ish) scrolling for all scroll methods. Currently the code will attempt to scroll by one half of the remaining distance, per centisecond. This is enough for the motion to be visible to the user, while still fast enough to keep the desktop responsive. Version 0.02. Tagged as 'WindowScroll-0_02'
-
- 12 Apr, 2020 1 commit
-
-
Jeffrey Lee authored
A BSD-licensed clone of RISCOS Ltd's WindowScroll module, based on the documentation at http://www.riscos.com/support/developers/riscos6/input/windowscroll.html Currently it's a bit basic - future improvements could include: * Have the "Speed" setting affect line scroll mode (read back the new window position and estimate how much further we can scroll it before overshooting - difficult because the scroll/redraw events are buffered by the Wimp) * Momentum/acceleration to ease scrolling long distances Version 0.01. Tagged as 'WindowScroll-0_01'
-