Bläddra i källkod

Added fullscreen option to test draw program.

UVA Multi-touch 13 år sedan
förälder
incheckning
879ef48ecb
1 ändrade filer med 19 tillägg och 5 borttagningar
  1. 19 5
      src/draw.py

+ 19 - 5
src/draw.py

@@ -1,16 +1,20 @@
 #!/usr/bin/env python
-import pygame, sys, time
-from touch import add, MultiTouchListener
+import pygame
+import sys
+import time
+from touch import add, MultiTouchListener, screen_size
 from math import degrees, cos, sin
 
 from events import Rotate
 
 pygame.init()
 
+FULLSCREEN = '-f' in sys.argv[1:]
+
 # Config
 FINGER_RADIUS = 20
 CENTROID_RADIUS = 15
-W, H = 640, 480
+W, H = screen_size if FULLSCREEN else (640, 480)
 
 BG_COLOR = 0, 0, 0
 LINE_COLOR = 128, 128, 128
@@ -30,6 +34,9 @@ BEAM_INCREMENT = .8
 # Create canvas GUI in the current thread
 screen = pygame.display.set_mode((W, H))
 
+if FULLSCREEN:
+    pygame.display.toggle_fullscreen()
+
 
 def rotate_point(point, axis, angle):
     px, py = point
@@ -125,7 +132,7 @@ def pinch(event):
 
 
 # Start touch event listener in separate thread
-listener = MultiTouchListener(verbose=1, tuio_verbose=0)
+listener = MultiTouchListener(verbose=0, tuio_verbose=0)
 listener.bind('rotate', rotate)
 listener.bind('pinch', pinch)
 listener.bind('tap', lambda e: taps.append([coord(*e.xy), FINGER_RADIUS]))
@@ -134,8 +141,15 @@ listener.bind('double_tap', lambda e: dtaps.append(list(coord(*e.xy)) + [0]))
 listener.start(threaded=True)
 
 # Start GUI event loop
+import sys
+
 try:
-    while not filter(lambda e: e.type == pygame.QUIT, pygame.event.get()):
+    while True:
+        for e in pygame.event.get():
+            if e.type == pygame.QUIT or (e.type == pygame.KEYDOWN
+                                         and e.key == 113):
+                sys.exit()
+
         update()
 except KeyboardInterrupt:
     pass