rendered paste body
from id import *
class PaintPage(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1)
self.buffer=wx.EmptyBitmap(32, 32)
self.drawing=True
self.SetBackgroundColour("GRAY")
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftMouseDown)
self.Bind(wx.EVT_LEFT_UP, self.OnLeftMouseUp)
self.Bind(wx.EVT_MOTION, self.OnMouseMotion)
self.Bind(wx.EVT_PAINT, self.OnPaint)
def OnPaint(self, event):
blowup=self.buffer.ConvertToImage().Scale(64, 64).ConvertToBitmap()
dc=wx.BufferedPaintDC(self, blowup, wx.BUFFER_CLIENT_AREA)
def OnLeftMouseDown(self, event):
if event.LeftDown():
self.SetFocus()
self.SetXY(event)
self.CaptureMouse()
self.drawing=True
self.OnMouseMotion(event, True)
def OnLeftMouseUp(self, event):
if not event.LeftDown() and self.drawing:
self.ReleaseMouse()
self.drawing=False
def OnMouseMotion(self, event, override=False):
if (event.Dragging() or override) and self.drawing:
dc=wx.BufferedDC(None, self.buffer)
dc.SetUserScale(2, 2)
dc.SetPen(wx.Pen('BLUE', 4))
coordinates=(self.x, self.y) + (event.GetX(), event.GetY())
dc.DrawLine(*coordinates)
self.SetXY(event)
self.Refresh()
def SetXY(self, event):
self.x, self.y=event.GetX(), event.GetY()