Slider Gadget changes

Changes with Window 1.83 - 1.85

Excessive generation of events

Previously whilst a slider was being dragged the gadget would repeatedly send itself Mouse_Click events (even if the mouse had yet to move). This meant that it was continually processing these events to no effect. This has been rectified, which makes other applications more responsive during a drag.

Previously when a Mouse_Click event was received the slider gadget would generate a Slider_ValueChanged event even if its value had not actually changed. We now notify the client application only when the value changes.

Step size enforcement

The Slider_SetValue method will now correctly lock the value selected to the step size. This had always been the intended operation, but the code had been non-functional.

Overflow values

On mouse clicks (or drags) with sliders using large value ranges and/or a large display area, it was possible that an overflow condition would occur. The possibility of this has been reduced by improving the code which translates between screen coordinates and logical range values.

Click/Drag positioning

On mouse clicks (or drags) a slider's bar would previously align with the step immediately below (or to the left of) the position clicked. This meant that the mouse pointer had to reach or move beyond the next step position before the bar would advance to it. This has been modified slightly such that the closest step position is used. This results in the slider appearing to jump to a position slightly higher or slightly lower than the position clicked. Previously it would always have jumped to the pointer position or a position immediately below it.

This documentation is copyright 3QD Developments Ltd 2013 and may not be reproduced or published in any form without the copyright holders permission. RISC OS is subject to continuous development and improvement as such all information is reproduced by 3QD Developments Ltd in good faith and is believed to be correct at the time of publication E&OE. 3QD Developments Ltd cannot accept any liability for any loss or damage arising from the use of any information provided as part of the RISC OS Documentation.

HTML document version 1.03 3rd November 2015