823 return self.CurrentScale |
823 return self.CurrentScale |
824 |
824 |
825 def GetViewScale(self): |
825 def GetViewScale(self): |
826 return self.ViewScale |
826 return self.ViewScale |
827 |
827 |
828 def GetLogicalDC(self, buffered=False): |
828 def PrepareDC(self, dc): |
829 if buffered: |
|
830 bitmap = wx.Bitmap(*self.Editor.GetClientSize()) |
|
831 dc = wx.MemoryDC(bitmap) |
|
832 else: |
|
833 dc = wx.ClientDC(self.Editor) |
|
834 dc.SetFont(self.GetFont()) |
829 dc.SetFont(self.GetFont()) |
835 self.Editor.DoPrepareDC(dc) |
830 self.Editor.DoPrepareDC(dc) |
836 dc.SetUserScale(self.ViewScale[0], self.ViewScale[1]) |
831 dc.SetUserScale(self.ViewScale[0], self.ViewScale[1]) |
|
832 |
|
833 def GetLogicalDC(self): |
|
834 dc = wx.ClientDC(self.Editor) |
|
835 self.PrepareDC(dc) |
837 return dc |
836 return dc |
838 |
837 |
839 def RefreshRect(self, rect, eraseBackground=True): |
838 def RefreshRect(self, rect, eraseBackground=True): |
840 self.Editor.RefreshRect(rect, eraseBackground) |
839 self.Editor.RefreshRect(rect, eraseBackground) |
841 |
840 |
3679 self.InstanceName.Draw(dc) |
3678 self.InstanceName.Draw(dc) |
3680 if self.rubberBand.IsShown(): |
3679 if self.rubberBand.IsShown(): |
3681 self.rubberBand.Draw(dc) |
3680 self.rubberBand.Draw(dc) |
3682 |
3681 |
3683 def OnPaint(self, event): |
3682 def OnPaint(self, event): |
3684 dc = self.GetLogicalDC(True) |
3683 event.Skip() |
|
3684 sx,sy = self.Editor.GetClientSize() |
|
3685 if sx <= 0 or sy <= 0 : |
|
3686 return |
|
3687 dc = wx.MemoryDC(wx.Bitmap(sx,sy)) |
|
3688 self.PrepareDC(dc) |
3685 self.DoDrawing(dc) |
3689 self.DoDrawing(dc) |
3686 wx.BufferedPaintDC(self.Editor, dc.GetAsBitmap()) |
3690 wx.BufferedPaintDC(self.Editor, dc.GetAsBitmap()) |
3687 if self.Debug: |
3691 if self.Debug: |
3688 DebugViewer.RefreshNewData(self) |
3692 DebugViewer.RefreshNewData(self) |
3689 event.Skip() |
|