Skip to content
Snippets Groups Projects
Commit 27d097aa authored by Taddeus Kroes's avatar Taddeus Kroes
Browse files

Added tracker for 'basic' events.

parent 72d93bef
No related branches found
No related tags found
No related merge requests found
......@@ -26,8 +26,7 @@ class GestureTracker(Logger):
passed to the handler along with a Gesture object can be specified.
"""
if gesture_type not in self.__gesture_types__:
raise AttributeError('Unsupported gesture type "%s".' \
% gesture_type)
raise ValueError('Unsupported gesture type "%s".' % gesture_type)
h = handler, args, kwargs
......
from ..tracker import GestureTracker, Gesture
from ..geometry import Positionable
from utils import PointGesture
class BasicTracker(GestureTracker):
"""
The main goal of this class is to provide a triggering mechanism for the
low-level point-down, point-move and point-up events.
"""
__gesture_types__ = ['down', 'move', 'up']
def on_point_down(self, point):
self.trigger(DownGesture(point))
def on_point_move(self, point):
self.trigger(MoveGesture(point))
def on_point_up(self, point):
self.trigger(UpGesture(point))
class DownGesture(PointGesture):
__type__ = 'down'
class MoveGesture(PointGesture):
__type__ = 'move'
class UpGesture(PointGesture):
__type__ = 'up'
import argparse
import logging
from src.server import GestureServer
from src.window import FullscreenWindow
from src.trackers.basic import BasicTracker
from src.logger import Logger
# Parse arguments
parser = argparse.ArgumentParser(description='Basic test program for usage '
'of multi-touch API.')
parser.add_argument('--log', metavar='LOG_LEVEL', default='INFO',
choices=['DEBUG', 'INFO', 'WARNING'],
help='set log level (defaults to INFO)')
parser.add_argument('--logfile', metavar='FILENAME',
help='filename for the log file (the log is printed to '
'stdout by default)')
args = parser.parse_args()
# Configure logger
log_config = {'level': getattr(logging, args.log)}
if args.logfile:
log_config['filename'] = args.logfile
Logger.configure(**log_config)
# Create server
server = GestureServer()
# Create a window to add trackers to
win = FullscreenWindow(server=server)
# Add tracker and handlers
tracker = BasicTracker(win)
tracker.bind('down', lambda g: 0)
tracker.bind('move', lambda g: 0)
tracker.bind('up', lambda g: 0)
# Start listening to TUIO events
try:
server.start()
except KeyboardInterrupt:
server.stop()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment