From beec04eacd368e2059324889d048ac2c616e30db Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 28 Dec 2017 16:08:50 -0800 Subject: [PATCH] PrepareDC for the wx.MemoryDCs too --- wx/lib/ogl/basic.py | 10 ++++++++++ wx/lib/ogl/composit.py | 10 ++++++++++ wx/lib/ogl/divided.py | 3 +++ wx/lib/ogl/lines.py | 3 +++ 4 files changed, 26 insertions(+) diff --git a/wx/lib/ogl/basic.py b/wx/lib/ogl/basic.py index f0ad4247..2ecbc5a5 100644 --- a/wx/lib/ogl/basic.py +++ b/wx/lib/ogl/basic.py @@ -522,6 +522,7 @@ class Shape(ShapeEvtHandler): if redraw and self.GetCanvas(): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) self.Erase(dc) self._shadowMode = mode self.Draw(dc) @@ -1197,6 +1198,7 @@ class Shape(ShapeEvtHandler): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) self.MoveLinks(dc) if not self.GetCanvas().GetQuickEditMode(): @@ -1441,6 +1443,7 @@ class Shape(ShapeEvtHandler): if self.GetCanvas(): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) self.Draw(dc) dc.SetLogicalFunction(wx.COPY) @@ -1567,6 +1570,7 @@ class Shape(ShapeEvtHandler): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) self.MoveLinks(dc) def RemoveLine(self, line): @@ -2505,6 +2509,7 @@ class Shape(ShapeEvtHandler): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) dottedPen = wx.Pen(wx.Colour(0, 0, 0), 1, wx.PENSTYLE_DOT) @@ -2586,6 +2591,7 @@ class Shape(ShapeEvtHandler): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) bound_x, bound_y = self.GetBoundingBoxMin() @@ -2687,6 +2693,7 @@ class Shape(ShapeEvtHandler): """The sizing end drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) if self._canvas.HasCapture(): self._canvas.ReleaseMouse() @@ -3288,6 +3295,7 @@ class PolygonShape(Shape): """The sizing drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) dottedPen = wx.Pen(wx.Colour(0, 0, 0), 1, wx.PENSTYLE_DOT) @@ -3304,6 +3312,7 @@ class PolygonShape(Shape): """The sizing begin drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) self.Erase(dc) @@ -3335,6 +3344,7 @@ class PolygonShape(Shape): """The sizing end drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) if self._canvas.HasCapture(): self._canvas.ReleaseMouse() diff --git a/wx/lib/ogl/composit.py b/wx/lib/ogl/composit.py index 7ecf4c54..1c3d13c2 100644 --- a/wx/lib/ogl/composit.py +++ b/wx/lib/ogl/composit.py @@ -190,6 +190,7 @@ class Constraint(object): dc = wx.MemoryDC() dc.SelectObject(self._constrainingObject.GetCanvas().GetBuffer()) + self._constrainingObject.GetCanvas().PrepareDC(dc) if self._constraintType == CONSTRAINT_CENTRED_VERTICALLY: n = len(self._constrainedObjects) @@ -558,6 +559,7 @@ class CompositeShape(RectangleShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) for object in self._children: # Scale the position first @@ -792,6 +794,7 @@ class CompositeShape(RectangleShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) division.Move(dc, self.GetX(), self.GetY()) self.Recompute() @@ -876,6 +879,7 @@ class DivisionControlPoint(ControlPoint): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) division = self._shape divisionParent = division.GetParent() @@ -1187,6 +1191,7 @@ class DivisionShape(CompositeShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(wx.COPY) self._xpos, self._ypos = self._canvas.Snap(self._xpos, self._ypos) @@ -1248,6 +1253,7 @@ class DivisionShape(CompositeShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) if direction == wx.VERTICAL: # Dividing vertically means notionally putting a horizontal @@ -1420,6 +1426,7 @@ class DivisionShape(CompositeShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) self.Move(dc, newX, self.GetY()) return True @@ -1448,6 +1455,7 @@ class DivisionShape(CompositeShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) self.Move(dc, newX, self.GetY()) return True @@ -1476,6 +1484,7 @@ class DivisionShape(CompositeShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) self.Move(dc, self.GetX(), newY) return True @@ -1557,6 +1566,7 @@ class DivisionShape(CompositeShape): dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) mouse_x = dc.LogicalToDeviceX(x - x1 * unit_x) mouse_y = dc.LogicalToDeviceY(y - y1 * unit_y) diff --git a/wx/lib/ogl/divided.py b/wx/lib/ogl/divided.py index cef1b1e5..3683283f 100644 --- a/wx/lib/ogl/divided.py +++ b/wx/lib/ogl/divided.py @@ -50,6 +50,7 @@ class DividedShapeControlPoint(ControlPoint): """The drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) dottedPen = wx.Pen(wx.Colour(0, 0, 0), 1, wx.PENSTYLE_DOT) @@ -68,6 +69,7 @@ class DividedShapeControlPoint(ControlPoint): """The begin drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) dottedPen = wx.Pen(wx.Colour(0, 0, 0), 1, wx.PENSTYLE_DOT) @@ -88,6 +90,7 @@ class DividedShapeControlPoint(ControlPoint): """The end drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dividedObject = self._shape if not dividedObject.GetRegions()[self.regionId]: diff --git a/wx/lib/ogl/lines.py b/wx/lib/ogl/lines.py index b1b062bf..d47dcd4d 100644 --- a/wx/lib/ogl/lines.py +++ b/wx/lib/ogl/lines.py @@ -1354,6 +1354,7 @@ class LineShape(Shape): """The sizing drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) dc.SetLogicalFunction(OGLRBLF) dottedPen = wx.Pen(wx.Colour(0, 0, 0), 1, wx.PENSTYLE_DOT) @@ -1383,6 +1384,7 @@ class LineShape(Shape): """The sizing begin drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) if pt._type == CONTROL_POINT_LINE: pt._originalPos = pt._point @@ -1425,6 +1427,7 @@ class LineShape(Shape): """The sizing end drag left handler.""" dc = wx.MemoryDC() dc.SelectObject(self.GetCanvas().GetBuffer()) + self.GetCanvas().PrepareDC(dc) self.SetDisableLabel(False)