summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Demo/tkinter/guido/paint.py
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Demo/tkinter/guido/paint.py
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Demo/tkinter/guido/paint.py')
-rw-r--r--sys/src/cmd/python/Demo/tkinter/guido/paint.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Demo/tkinter/guido/paint.py b/sys/src/cmd/python/Demo/tkinter/guido/paint.py
new file mode 100644
index 000000000..d46e20b9a
--- /dev/null
+++ b/sys/src/cmd/python/Demo/tkinter/guido/paint.py
@@ -0,0 +1,60 @@
+""""Paint program by Dave Michell.
+
+Subject: tkinter "paint" example
+From: Dave Mitchell <davem@magnet.com>
+To: python-list@cwi.nl
+Date: Fri, 23 Jan 1998 12:18:05 -0500 (EST)
+
+ Not too long ago (last week maybe?) someone posted a request
+for an example of a paint program using Tkinter. Try as I might
+I can't seem to find it in the archive, so i'll just post mine
+here and hope that the person who requested it sees this!
+
+ All this does is put up a canvas and draw a smooth black line
+whenever you have the mouse button down, but hopefully it will
+be enough to start with.. It would be easy enough to add some
+options like other shapes or colors...
+
+ yours,
+ dave mitchell
+ davem@magnet.com
+"""
+
+from Tkinter import *
+
+"""paint.py: not exactly a paint program.. just a smooth line drawing demo."""
+
+b1 = "up"
+xold, yold = None, None
+
+def main():
+ root = Tk()
+ drawing_area = Canvas(root)
+ drawing_area.pack()
+ drawing_area.bind("<Motion>", motion)
+ drawing_area.bind("<ButtonPress-1>", b1down)
+ drawing_area.bind("<ButtonRelease-1>", b1up)
+ root.mainloop()
+
+def b1down(event):
+ global b1
+ b1 = "down" # you only want to draw when the button is down
+ # because "Motion" events happen -all the time-
+
+def b1up(event):
+ global b1, xold, yold
+ b1 = "up"
+ xold = None # reset the line when you let go of the button
+ yold = None
+
+def motion(event):
+ if b1 == "down":
+ global xold, yold
+ if xold != None and yold != None:
+ event.widget.create_line(xold,yold,event.x,event.y,smooth=TRUE)
+ # here's where you draw it. smooth. neat.
+ xold = event.x
+ yold = event.y
+
+if __name__ == "__main__":
+ main()