changes by Barry, e.g. font lock & email addresses
[python/dscho.git] / Demo / sgi / gl / glstdwin / tglsw.py
blob8854e9881261decbac1c2bcee16e0b7c3ec24471
1 import sys
3 if len(sys.argv) < 2:
4 import stdwingl
5 color = 1
6 needclose = 1
7 else:
8 color = 0
9 needclose = 0
11 import stdwin
12 import time
13 from stdwinevents import *
14 from GL import BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE
16 def main():
18 stdwin.setdefwinsize(300, 300)
19 stdwin.setdefwinpos(0, 0)
20 if color: stdwin.setbgcolor(YELLOW)
21 w1 = stdwin.open('Hello, world')
22 w1.box = (10, 10), (90, 90)
24 stdwin.setdefwinsize(0, 0)
25 stdwin.setdefwinpos(50, 50)
26 if color: stdwin.setbgcolor(GREEN)
27 w2 = stdwin.open('Second window')
28 w2.box = (10, 10), (90, 90)
30 while w1 or w2:
31 type, window, detail = stdwin.getevent()
32 if type == WE_DRAW:
33 d = window.begindrawing()
34 if window == w1:
35 if color: d.setfgcolor(BLACK)
36 d.box(((50, 50), (250, 250)))
37 if color: d.setfgcolor(RED)
38 d.cliprect(((50, 50), (250, 250)))
39 d.paint(w1.box)
40 d.noclip()
41 if color: d.setfgcolor(BLUE)
42 d.line((0, 0), w1.box[0])
43 elif window == w2:
44 if color: d.setfgcolor(WHITE)
45 d.box(w2.box)
46 if color: d.setfgcolor(BLACK)
47 d.text(w2.box[0], 'Hello world')
48 else:
49 print 'Strange draw???', window, detail
50 del d
51 elif type == WE_CLOSE:
52 if needclose: window.close()
53 if window == w1:
54 w1 = None
55 elif window == w2:
56 w2 = None
57 else:
58 print 'weird close event???', window, detail
59 elif type in (WE_MOUSE_DOWN, WE_MOUSE_MOVE, WE_MOUSE_UP):
60 h, v = detail[0]
61 window.box = (h, v), (h+80, v+80)
62 window.change(((0,0), (2000, 2000)))
63 elif type == WE_CHAR:
64 print 'character', `detail`
65 else:
66 print type, window, detail
69 main()
70 print 'Done.'