
mouse position
Posted Friday, 13 November, 2009 - 16:35 by stereo| Project: | The Open Toolkit library |
| Version: | 1.0-beta-2 |
| Component: | Code |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | closed |
Jump to:
Description
try run input logger and look into mouse position. Excess edges of the window with the mouse. Sometimes there are negative numbers, and after crossing the left edge of the window there is a very big value. Very strange. Tested on Win XP.


Comments
#1
Look at PointToClient functions.
#2
PointToClient does not help. Mouse position values are not in the proper range, and this feature (PointToClient ) does not help anything. After crossing the left edge of the window appear terribly large values equal to the 65535 (After crossing the left edge of the window even on a few pixels).
In the old version 0.9.9-3 was ok.
#3
Investigating.
#4
Fixed in r2517.
As far as I can tell, the issue was caused by replacing an internal win32-specific point structure by System.Drawing.Point (different constructor signatures causing different sign expansion). I've modified the WM_MOUSEMOVE handler to implement the win32 GET_X_PARAM/GET_Y_PARAM macros exactly, which should guarantee correct sign expansion in all cases.
#5
Closing issues fixed in 1.0 beta-2.