summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DummyRig.py55
-rw-r--r--webapp/app/__init__.py2
2 files changed, 23 insertions, 34 deletions
diff --git a/DummyRig.py b/DummyRig.py
index 093a655..732bbc9 100644
--- a/DummyRig.py
+++ b/DummyRig.py
@@ -1,29 +1,18 @@
-from Tkinter import *
+import pygame
+from pygame.locals import *
import re
import threading
import time
-def rgbToTkColor(r, g, b):
- if not (0 <= r <= 1 and 0 <= g <= 1 and 0 <= b <= 1):
- print "invalid r={}, g={}, b={}".format(r, g, b)
- assert(False)
-
- r_hex = int(r * 0xFF)
- g_hex = int(g * 0xFF)
- b_hex = int(b * 0xFF)
- return "#{:02x}{:02x}{:02x}".format(r_hex, g_hex, b_hex)
-
class DummyLight(object):
WIDTH_PX = 8
HEIGHT_PX = 20
- def __init__(self, canvas):
- self.canvas = canvas
+ def __init__(self):
self.color = (0, 0, 0)
def setRGBRaw(self, r, g, b):
- self.color = (r, g, b)
- self.canvas.itemconfig(self.rect_id, fill=rgbToTkColor(*self.color))
+ self.color = (int(r*255), int(g*255), int(b*255))
class DummyRig(object):
@@ -33,21 +22,18 @@ class DummyRig(object):
self.margin = 5
def init(self):
- self.root = Tk()
- self.canvas = Canvas(self.root,
- width=self.width*DummyLight.WIDTH_PX + self.margin*2,
- height=self.height*DummyLight.HEIGHT_PX + self.margin*2)
- self.canvas.pack()
- self.root.resizable(width=0, height=0)
+ pygame.init()
+ self.screen = pygame.display.set_mode((self.width*DummyLight.WIDTH_PX + self.margin*2,
+ self.height*DummyLight.HEIGHT_PX + self.margin * 2))
+ self.bg = pygame.Surface(self.screen.get_size())
+ self.bg = self.bg.convert()
+ self.bg.fill((0, 0, 0))
+ self.screen.blit(self.bg, (0, 0))
+ pygame.display.flip()
- self.lights = [[DummyLight(self.canvas) for _ in xrange(self.height)]
+ self.lights = [[DummyLight() for _ in xrange(self.height)]
for _ in xrange(self.width)]
- self.rootThread = threading.Thread(target=self.root.mainloop)
- self.rootThread.start()
-
- self.initRects()
-
def select(self, pattern):
match = re.search("\$side=(.*?)\[\$sequence=(.*?)\]", pattern)
if match.group(1) == "bot":
@@ -59,14 +45,19 @@ class DummyRig(object):
return self.lights[x][y]
def updateOnce(self):
- pass
+ for event in pygame.event.get():
+ if event.type == QUIT:
+ raise Exception
+
+ self.screen.blit(self.bg, (0,0))
+ self.drawRects()
+ pygame.display.flip()
- def initRects(self):
+ def drawRects(self):
for x in xrange(self.width):
for y in xrange(self.height):
light = self.lights[x][y]
x0 = self.margin + x * DummyLight.WIDTH_PX
y0 = self.margin + y * DummyLight.HEIGHT_PX
- light.rect_id = self.canvas.create_rectangle(x0, y0, x0 + DummyLight.WIDTH_PX,
- y0 + DummyLight.HEIGHT_PX,
- width=1)
+ pygame.draw.rect(self.screen, light.color,
+ (x0, y0, DummyLight.WIDTH_PX, DummyLight.HEIGHT_PX))
diff --git a/webapp/app/__init__.py b/webapp/app/__init__.py
index aa2e264..29cd22b 100644
--- a/webapp/app/__init__.py
+++ b/webapp/app/__init__.py
@@ -1,7 +1,5 @@
from flask import Flask
import socketio
-import eventlet
-import eventlet.wsgi
sio = socketio.Server(async_mode='threading')
app = Flask(__name__)