summaryrefslogtreecommitdiffstats
path: root/Demo/threads
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2000-05-11 18:27:21 (GMT)
committerGuido van Rossum <guido@python.org>2000-05-11 18:27:21 (GMT)
commit81b4e41cd9c4587c56f4ff87c04864c8bc532921 (patch)
tree19001bebf38062adce6317d37eafcf2938d22324 /Demo/threads
parent9ab06ee7b2c89a38adf462a9ce894f016b381b77 (diff)
downloadcpython-81b4e41cd9c4587c56f4ff87c04864c8bc532921.zip
cpython-81b4e41cd9c4587c56f4ff87c04864c8bc532921.tar.gz
cpython-81b4e41cd9c4587c56f4ff87c04864c8bc532921.tar.bz2
removing more stdwin users
Diffstat (limited to 'Demo/threads')
-rw-r--r--Demo/threads/wpi.py80
1 files changed, 0 insertions, 80 deletions
diff --git a/Demo/threads/wpi.py b/Demo/threads/wpi.py
deleted file mode 100644
index d4c0ef9..0000000
--- a/Demo/threads/wpi.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Display digits of pi in a window, calculating in a separate thread.
-# Compare ../scripts/pi.py.
-
-import sys
-import time
-import thread
-import stdwin
-from stdwinevents import *
-
-ok = 1
-
-digits = []
-
-def worker():
- k, a, b, a1, b1 = 2l, 4l, 1l, 12l, 4l
- while ok:
- # Next approximation
- p, q, k = k*k, 2l*k+1l, k+1l
- a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
- # Print common digits
- d, d1 = a/b, a1/b1
- #print a, b, a1, b1
- while d == d1:
- digits.append(`int(d)`)
- a, a1 = 10l*(a%b), 10l*(a1%b1)
- d, d1 = a/b, a1/b1
-
-def main():
- global ok
- digits_seen = 0
- thread.start_new_thread(worker, ())
- tw = stdwin.textwidth('0 ')
- lh = stdwin.lineheight()
- stdwin.setdefwinsize(20 * tw, 20 * lh)
- stdwin.setdefscrollbars(0, 1)
- win = stdwin.open('digits of pi')
- options = win.menucreate('Options')
- options.additem('Auto scroll')
- autoscroll = 1
- options.check(0, autoscroll)
- while 1:
- win.settimer(1)
- type, w, detail = stdwin.getevent()
- if type == WE_CLOSE:
- ok = 0
- sys.exit(0)
- elif type == WE_DRAW:
- (left, top), (right, bottom) = detail
- digits_seen = len(digits)
- d = win.begindrawing()
- for i in range(digits_seen):
- h = (i % 20) * tw
- v = (i / 20) * lh
- if top-lh < v < bottom:
- d.text((h, v), digits[i])
- d.close()
- elif type == WE_TIMER:
- n = len(digits)
- if n > digits_seen:
- win.settitle(`n` + ' digits of pi')
- d = win.begindrawing()
- for i in range(digits_seen, n):
- h = (i % 20) * tw
- v = (i / 20) * lh
- d.text((h, v), digits[i])
- d.close()
- digits_seen = n
- height = (v + 20*lh) / (20*lh) * (20*lh)
- win.setdocsize(0, height)
- if autoscroll:
- win.show((0, v), (h+tw, v+lh))
- elif type == WE_MENU:
- menu, item = detail
- if menu == options:
- if item == 0:
- autoscroll = (not autoscroll)
- options.check(0, autoscroll)
-
-
-main()