OGL patch from Shane Holloway:
Two simple problems found in the new python ogl code. First is the patch for _canvas.py. Essentially: dx = abs(dc.LogicalToDeviceX(x - self._firstDragX)) dy = abs(dc.LogicalToDeviceY(y - self._firstDragY)) was incorrect because (x,y) and (self._firstDragX, self._firstDragY) are both already in Logical coordinates. Therefore the difference between the two is also in logical coordinates, and the conversion call is an error. This bug surfaces when you have OGL on a scrollwin, and you are far from the origin of the canvas. The second change in _composit.py basically removes the assumption that the child is in both self._children and self._divisions. Causes many problems when it's not. ;) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -93,10 +93,13 @@ class ShapeCanvas(wx.ScrolledWindow):
|
||||
# If we're very close to the position we started dragging
|
||||
# from, this may not be an intentional drag at all.
|
||||
if dragging:
|
||||
dx = abs(dc.LogicalToDeviceX(x - self._firstDragX))
|
||||
dy = abs(dc.LogicalToDeviceY(y - self._firstDragY))
|
||||
if self._checkTolerance and (dx <= self.GetDiagram().GetMouseTolerance()) and (dy <= self.GetDiagram().GetMouseTolerance()):
|
||||
return
|
||||
if self._checkTolerance:
|
||||
# the difference between two logical coordinates is a logical coordinate
|
||||
dx = abs(x - self._firstDragX)
|
||||
dy = abs(y - self._firstDragY)
|
||||
toler = self.GetDiagram().GetMouseTolerance()
|
||||
if (dx <= toler) and (dy <= toler):
|
||||
return
|
||||
# If we've ignored the tolerance once, then ALWAYS ignore
|
||||
# tolerance in this drag, even if we come back within
|
||||
# the tolerance range.
|
||||
|
Reference in New Issue
Block a user