All pastes #780365 Raw Edit

Something

public python v1 · immutable
·published 2007-11-18 15:41 UTC
rendered paste body
 import wx 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()if __name__=='__main__':	a=wx.App(0)	f=wx.Frame(None, -1, 'Demo')	sizer=wx.BoxSizer(wx.VERTICAL)	sizer.Add(PaintPage(f), 1, wx.ALL|wx.EXPAND)	f.SetSizer(sizer)	f.Show()	a.MainLoop()