Commit b0639f93 authored by Taddeüs Kroes's avatar Taddeüs Kroes

Made test app more fancy.

parent 8280ae9b
......@@ -4,4 +4,3 @@ Code:
Report/appendix reference gesture detection:
- Point_leave(+point_enter) kan niet -> flaw v/h systeem/driver?
- "gesture detection component" -> "gesture tracker"
......@@ -46,10 +46,11 @@ class Polygon(BoundingBoxArea):
self.on_pinch(self.handle_pinch)
self.on_rotate(self.handle_rotate)
self.on_flick(self.handle_flick)
self.on_double_tap(self.circulate_color)
self.on_tap(self.circulate_color)
def circulate_color(self, g):
self.color = self.color[2:] + self.color[:2]
refresh()
def flick_drag(self, amt):
tx, ty = self.flick_direction
......@@ -119,6 +120,13 @@ draw_touch_objects = True
W, H = mt.screen.screen_size
def toggle_fullscreen():
global fullscreen
(window.unfullscreen if fullscreen else window.fullscreen)()
fullscreen = not fullscreen
refresh()
def create_context_window(w, h, callback):
def create_context(area, event):
"""Add Cairo context to GTK window and draw state."""
......@@ -135,9 +143,7 @@ def create_context_window(w, h, callback):
key = chr(event.keyval)
if key == 'f':
global fullscreen
(win.unfullscreen if fullscreen else win.fullscreen)()
fullscreen = not fullscreen
toggle_fullscreen()
elif key == 'b':
global draw_bounding_boxes
draw_bounding_boxes = not draw_bounding_boxes
......@@ -149,7 +155,7 @@ def create_context_window(w, h, callback):
elif key == 'q':
quit()
def update_window():
def redraw_updated_window():
refresh()
return True
......@@ -160,7 +166,7 @@ def create_context_window(w, h, callback):
window.connect('destroy', quit)
window.connect('key-press-event', handle_key)
window.connect('show', callback)
window.on_update(update_window)
window.on_update(redraw_updated_window)
root = window.get_area()
if fullscreen:
......@@ -196,7 +202,13 @@ def draw():
cr.set_source_rgb(*WHITE)
for hand in touch_hands:
cx, cy = hand.get_centroid()
centroid = hand.get_centroid()
# Check if all fingers have not been removed already
if not centroid:
continue
cx, cy = centroid
# Filled centroid circle
if len(hand) > 1:
......@@ -247,8 +259,8 @@ def triangle_height(width):
def on_show(window):
def root_dtap(g): print 'double tapped on root'
root.on_double_tap(root_dtap)
# Toggle fullscreen on double tap
root.on_double_tap(lambda g: toggle_fullscreen())
# Create blue rectangle
x, y, w, h = 0, 0, 250, 150
......@@ -256,9 +268,6 @@ def on_show(window):
draw_objects.append(rect)
root.add_area(rect)
def rect_tap(g): print 'tapped on rectangle'
rect.on_tap(rect_tap, propagate_up_event=False)
# Create green triangle
x, y, w = 400, 400, 200
h = triangle_height(w)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment