[Bug 53] New - PrgWin95: Wine does not support Win9x style (16bit) coordinates

wine-bugs at winehq.com wine-bugs at winehq.com
Sat May 25 17:25:14 CDT 2002


http://bugs.winehq.com/show_bug.cgi?id=53

*** shadow/53	Sat May 25 17:25:14 2002
--- shadow/53.tmp.928	Sat May 25 17:25:14 2002
***************
*** 0 ****
--- 1,54 ----
+ +============================================================================+
+ | PrgWin95: Wine does not support Win9x style (16bit) coordinates            |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 53                          Product: Wine                    |
+ |       Status: NEW                         Version: unspecified             |
+ |   Resolution:                            Platform:                         |
+ |     Severity: normal                   OS/Version: All                     |
+ |     Priority: P1                        Component: wine-gdi                |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: wine-bugs at winehq.com                                         |
+ |  Reported By: fgouget at codeweavers.com                                      |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |    Milestone: TargetMilestone: ---                                         |
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ On Win9x if one draws a line to (65520,65520) it should go to the top left
+ corner of the Window (with an MM_TEXT coordinate system I believe). In Wine,
+ and, I believe, in NT too, this line would go to the bottom right corner of the
+ Window.
+ 
+    The reason is that Win9x only supports 16bit coordinates, i.e. values ranging
+ from -32768 to 32767 so that 65520 is way in the negatives, while NT supports
+ 32bit coordinates so that 65520 is, well, what it is.
+ 
+    So should all the GDI functions test whether winver==win9x and adjust the
+ coordinates accordingly if it is so?
+    If not we should document this... somewhere. I'm not sure where. Maybe it's
+ already documented somewhere, I did not find it. Do we have some sort of a
+ 'limitations' section?
+ 
+ History:
+    This issue was revealed to me by the capture2 example of the Petzold 95. When
+ the mouse got out to the left of the window, the application would behave as if
+ it was to the far right. I traced it down to the WM_MOUSEMOVE message that was
+ returning values like 65520 but then noticed Win9x was doing the same. That's
+ when I realized it was the Rectangle API that was behaving differently.
+    Actually I should also test this in NT to see if NT too returns 65xxx in
+ WM_MOUSEMOVE for values <0, and to see how this application behaves in NT.
+ 
+ See also:
+    http://fgouget.free.fr/wine/PrgWin95/Chap6.shtml#capture2
+ 
+ ------- Additional Comments From fgouget at codeweavers.com  2000-10-25 14:59 -------
+    I tested capture2 on Windows NT and Windows 2000 and it behaves just like in
+ Wine.
+    So it is definitely a bug in the application: wherever it does 'ptEnd.x =
+ LOWORD (lParam) ;' it should do 'ptEnd.x = (short)LOWORD (lParam) ;' instead.
+    But the core of this report remains.
+ 
+ 
+ ------- Additional Comments From Speeddymon at yahoo.com  2002-05-25 17:25 -------
+ This still an issue or should it be closed?
\ No newline at end of file



More information about the wine-bugs mailing list