def on_touch_up(self, touch): self.points += [touch.pos] gesture = Gesture() gesture.add_stroke(self.points) gesture.normalize() gdb = GestureDatabase() print "Gesture:", gdb.gesture_to_str(gesture)
def InitVars(self) -> None: """ (re) Initialises all vars (also after a definition change) """ InitSystemVars() Globals.oDefinitions.InitVars() SetVar(uVarName = u'REPVERSION', oVarValue = ToUnicode(Globals.iVersion)) # Name of the Current page # List for settings dialog self.bIntransition = False self.dGestures.clear() self.dPopups.clear() self.iLastWidgetPage = 0 Globals.oActions.InitVars() self.oCurrentPage = None self.oFonts.DeInit() self.oGdb = GestureDatabase() self.oPopup = None self.oScreenPages.DeInit() self.uCurrentEffect = u'' self.uCurrentEffectDirection = u'' self.uCurrentPageName = u'' self.uDefaultTransmitterPictureName = u'' self.uDefaultWaitPictureName = u'' self.uDefName = u'' self.uFirstPageName = u'' self.uInterFaceToConfig = u'' self.uScriptToConfig = u'' self.uConfigToConfig = u'' self.uSplashText = u'' self.iBlockCount = 0 self.iBlockAskCount = 0 if Globals.oTheScreen: Globals.oTheScreen.oSkin.dSkinRedirects.clear() gc.collect()
def on_touch_up(self, touch): self.points += [touch.pos] gesture = Gesture() gesture.add_stroke(self.points) gesture.normalize() gdb = GestureDatabase() print("Gesture:", gdb.gesture_to_str(gesture).decode(encoding='UTF-8'))
def load_gestures(): gdb = GestureDatabase() gdb.add_gesture(cun_1) gdb.add_gesture(cun_10) print('Loading gestures...') return gdb
def __init__(self, **kwargs): self.register_event_type('on_left') self.register_event_type('on_right') self.gdb = GestureDatabase() self.gdb.add_gesture(left) self.gdb.add_gesture(right) super().__init__(**kwargs)
def on_touch_up(self,touch): self.points+=[touch.pos] with self.canvas: Ellipse(pos=(touch.x-5,touch.y-5),size=(10,10)) gesture=Gesture() gesture.add_stroke(self.points) gesture.normalize() gdb=GestureDatabase()
def __init__(self, path='./chronos/assets/gestures/'): with open(path + 'gestures.json', "r+") as f: self.path = path self.str_gestures = json.load(f) self.db = GestureDatabase() for name, gesture_string in self.str_gestures.items(): gesture = self.db.str_to_gesture(gesture_string) gesture.name = name self.db.add_gesture(gesture)
def __init__(self, *args, **kwargs): super(GestureBoard, self).__init__() self.gdb = GestureDatabase() # add pre-recorded gestures to database self.gdb.add_gesture(cross) self.gdb.add_gesture(check) self.gdb.add_gesture(circle) self.gdb.add_gesture(square)
def __init__(self, app, **kwargs): # inicializace pole self.app = app super(GameMatrix, self).__init__(**kwargs) self.coords = [] self.dpos = (0, 0) self.colors = [] self.shape = None self.active_color = [.1372, .1372, .1372, 1] self.inactive_color = [.1372, .1372, .1372, 1] self.fUpdate = 12 * 22 * "0" self.tnetCoords2 = [] for y in range(51, 73): for x in range(51, 63): self.tnetCoords2.append(chr(x) + chr(y)) self.tnetCoords = [] for x in range(51, 63): col = [] for y in range(51, 73): col.append((chr(x), chr(y))) self.tnetCoords.append(col) self.tnetColors = [] for c in range(33, 48): self.tnetColors.append(chr(c)) self.move = False self.orientation = 0 self.colored = set() self.colors = [ deepcopy(self.inactive_color), [0, .6, .8, 1], [1, .7333333, .2, 1], [.6, .8, 0, 1], [.666666667, .4, .8, 1], [1, .266666667, .266666667, 1] ] self.COORDS_SET = set() for y in range(int(self.rows)): line = [] for x in range(int(self.cols)): box = Box() box.coords = (x, y) box.colored = deepcopy(self.inactive_color) self.add_widget(box) line.append(box) self.COORDS_SET.add((x, y)) self.coords.append(line) self.b = 0 self.startgame = False self.seed = randint(0, 0xFFFFFF) self.specials = set() self.buildNext = False self.mLR = False self.gdb = GestureDatabase() self.GSTR_DROP = \ self.gdb.str_to_gesture('eNq1l82O2jAQgO9+Ebg08ng8M/YL0GslHqBKIQK0W4iSbHf37WtPIjZS/6Si4WIYez4P+Yyxt5eny4/35tSN08vQuc9L23u3Pfbg9ptr+73buD6Ut6VBN+434zTcnrqxfIxu+9yT2/4WstdhrueKkpLf3y7Xqaalmpb/kPaljnI9zBXUEt5LCgS3803EKCmwT5yJCXKt5q32Yu31HsETZe85AIAQsBu/tX+fJuo05E7zDEEEBDOg17k8ufH0AF2/O4gRPSk929CDCghgRA9KRyO6Wg13qx7viyaUaRLyY3jVGsQKr15DNsKjikWwwqtZRCu8qkUrtahq0Uotqlpc1H7yDaT1jhbKY3sEH1VtBCu8qo1ohVe1kazwqjaKFV7VRiu1pGrJSi2pWvpQG0Ne/9k+SFezREZ0FUtiRFevlG3orFoZjOhqlY2sslplI6usVtnIKqtV/rC6bPDLCSTBQi89HhIjUvQogcWXn+C/4KJSBWzg6lTQBq5Khf4XXm8Hh6HrrvezvnA97Iu47Q4FG+92UUJppl6Sa38N5nUwogaTXwUxpzkI6yAtwbAOQmnWL64jUEdwriNCWtKia+fqz93ldJ7qHYXcrmyxpbtEXy/H6VyDXIqaQ9PtuRva66FejpLUZQg1vDzWr/1wO74cFJRKJQ2Vs4OUK0sMwEF0gTY/AXq8jUg=') self.gdb.add_gesture(self.GSTR_DROP) self.dropAnimation2 = Animation(colored=self.inactive_color, d=.03) self.dropAnimation = Animation(colored=self.inactive_color, d=.1) self.spectate = False
def __init__(self, config, gestures, el, *args, **kwarg): """ :param config: string containing the path to the action configuration :param gestures: string containing the path to the gestures configuration """ super(EventDispatcher, self).__init__(*args, **kwarg) self._event_loop = el self._gdb = GestureDatabase() self._actions = Actions(config, gestures) self.update_devices() self._multitouches = []
def __init__(self, *args, **kwargs): super(QueueViewManager, self).__init__() #Initial values self.index = 0 #Create gesture database self.gdb = GestureDatabase() #Add gestures self.gdb.add_gesture(swipe_left) self.gdb.add_gesture(swipe_right) self.gesture_tolerence = 0.70 # minimum score that a gesture must reach before actions can be triggered
def __init__(self, **kwargs): # inicializace self.app = kwargs['root'] self.register_event_type('on_swipe_right') self.register_event_type('on_swipe_left') super(GestureListener, self).__init__(**kwargs) self.gdb = GestureDatabase() self.GSTR_SWIPE_LEFT = \ self.gdb.str_to_gesture('eNqtls2O2jAURvd+EdgU+f7bL0C3lXiAikIEaKYQQabtvH3tC0ITQZtZeJXkU3ycfEdK7vzwcvj1vth1l+Ht3IWvt2Mfw3zbQ1jNjuuf3Sz0WE7LgcJlNbsM59NLdymXHOavvYT5U8jKbwu9VpSV9f3pcBzqslSX5X8s+1bvCj1cn6A+wntZAhiWcRHr9n/qJdVL0pQNjZUIkAzC5cf6/1B2qITdnbe7oRBSxEwSIXJCmkb5a4E9olDEVCBnUGAUsmlWclZuwULvDeGRVSr62BfjNAudRU1YXj1KE5Z3j9aE5d3jQ/dfyikrIEgmzMCRTSZh5OUTtIF5+0RtYF4/SRuY90/WBuYCqI0AdgH8TAAmyBaVc8oCZvkTMBfA1AbmAljawFwAWxuYC+DcBCYuQNoIEBcgbQSIC5BnAjjFmCiJMSOxpemvv7gAsTYwFyC5CUxdgEIbmAtQagNzAdpGgLoAbSNAXYA+E6AEEa38eVWTaflNTLHM+zdowvL6jZqwvH2TT7LqmLc5d93xPrSZ1qnNLMyXlqSsXxLnchh6S2H9GOZrGD+GKXpoNArBQ8mjED1kGIXkIego5BpqHu2exEMbMzWsr6+27w67/VAnUbuPlb8P22FfoxSWEPUaDqfX7rw+buoInLJPGDW+Vfy9P5+2b5sKymUfXmA0SGqmkAG0Dh+Lv5QfIpE=') self.GSTR_SWIPE_RIGHT = \ self.gdb.str_to_gesture('eNq1l82O2jAQgO9+Ebhs5Pm3X4C9VuIBKgoRi3YLEWTb7tvXnmzbjVQKquRcDJOZb4Z8KLKXh+fDt7du31/G13MfHt/XIYblboCwXhw3X/tFGLB8LAuFy3pxGc+n5/5SvnJYvgwSln+FrD0tDFpRVuqH0+E41rJUy/KVsk81KwwwTVBHeCslgGEVuxhZWRNH4KQ55eTz/Kj3KaweYkcZDJMiCwmBhsuXzb+7sHeRsL/eYP+LzQaQsmSIlqLqHXT/6WAT/aHi0VKCyDFlhMyW9A8fwWI0Js7MSJZv45PjcyM8ugGEVnh0PLXCu1mU+/CRAIgSppwVE0q6LRddLlq7Bq4Xc7MG5IIJ2jVwxUTtGrhkaieZXDLdI7n8R9nUVCxnFJUot+lumHIbOrtehkZ0d8vUiO5iWRrR3So3sspulRtZFbcqjayKW5VGVsWtyn1WBYSIxZBztKh8m+5WxRrR3arkNnR1qwqN6G5VqRHdrWojq+pWtZFVdavayKq5VWtk1dyq3WdVY0IDMpn2t7fhLtXkf+H1mLA99/3x96bftO76zcJyBdrFsCIqy8dLwzhYCpuSkK4n5JqAaX4n8pX0FGu60sTjspQYeA/ALs+uDxk4TZFmZeSdNc6CPI0js6CEzfQMnvrD/mmsRx4NK5yPV95UJeP7YTc+1QQrCZpLfQmOp5f+vDlu68krpfqIoYbfVX0ezqfd69axZWjuQKJC3dYgkGp9D3c/Ab86orc=') self.gdb.add_gesture(self.GSTR_SWIPE_LEFT) self.gdb.add_gesture(self.GSTR_SWIPE_RIGHT)
def __init__(self, *args, **kwargs): super().__init__() self.gdb = GestureDatabase() self.line45 = self.gdb.str_to_gesture(line45_str) self.cirlce = self.gdb.str_to_gesture(cirlce_str) self.cross = self.gdb.str_to_gesture(cross_str) self.line135 = self.line45.rotate(90) self.line225 = self.line45.rotate(180) self.line315 = self.line45.rotate(270) self.gdb.add_gesture(self.line45) self.gdb.add_gesture(self.line135) self.gdb.add_gesture(self.line225) self.gdb.add_gesture(self.line315) self.gdb.add_gesture(self.cross) self.gdb.add_gesture(self.cirlce)
def __init__(self, *args, **kwargs): super(DrawingCanvas, self).__init__() self.gdb = GestureDatabase() self.line45 = self.gdb.str_to_gesture(line45_str) self.circle = self.gdb.str_to_gesture(circle_str) self.cross = self.gdb.str_to_gesture(cross_str) self.line135 = self.line45.rotate(90) self.line225 = self.line45.rotate(180) self.line315 = self.line45.rotate(270) self.gdb.add_gesture(self.line45) self.gdb.add_gesture(self.line135) self.gdb.add_gesture(self.line225) self.gdb.add_gesture(self.line315) self.gdb.add_gesture(self.circle) self.gdb.add_gesture(self.cross) self.links = []
def __init__(self, **kwargs): super(CurrentSession, self).__init__(**kwargs) #self.snack = Snackbar(text="Current session updated", duration=2) self.ssm = None self.buttons = {} self.available_grid_sizes = ['small', 'large'] self.bind(grid=self.refresh_menu_text, buttons=self.refresh_screen) self.working_layout.bind( minimum_height=self.working_layout.setter('height')) self.menu_items = [{ 'viewclass': 'MDFlatButton', 'text': 'Show %s grid' % self.grid, 'on_release': lambda: self.change_grid_size() }] self.color_manager = ColorManager(md_colors) self.clear_anim = Animation(x=self.width, duration=.5, transition=animation_type) self.bind(width=self.update_anim, size=self.adjust_height) self.gdb = GestureDatabase() self.gdb.add_gesture(left_to_right) Clock.schedule_once(self.my_init)
def __init__(self, **kwargs): super().__init__(**kwargs) self.gdb:GestureDatabase = GestureDatabase()
#!/usr/bin/env python from kivy.gesture import GestureDatabase gdb = GestureDatabase() cross = gdb.str_to_gesture( 'eNq1l9tu3DYQhu/1It6bLjicE+cFtrcF/ACBYwv2Iqkt7G7a5u1DDqlT0lZ7I2Mxsj5JP2f4k' 'xR1OH85//X9+Npfb98uffd7Ow6hO7wM0D0+vD/92T90Q8z/5gN218eH6+3y8aW/5lPqDl8H7g' '7/KvLot3WDFCnNzw8f5/dbeSyVx+w/Hvuj3NUNUDMoKXzPj0DsTuGIGiRJGCOVbP4pV7E7/Ra' 'ORJZMwhS1u35++v9WyFvh7rU2ENEMJI1RuLu+NnEEgyhpjEG2xb1y0H3Ek4vbKA6kEmyKEWdx' 'WPaJsaVN8eidH2Ef8ejiOIqHdbeQLvolaLTFLxlty7ulsVlaNBKChCnmEpp+uRSSIozRBLbl3' 'dSoe8m7rdF2kkc3FmGSB1FVphYT6qSejY2sOsXtyYRuLOIkHgEtGrZIKJP4Spk13ZG524qzrX' 'FWLlHmfok/9UvcFndTUe8Rz8OVA7RIYXtAoluKdke3hJU42j0dQ24pwV7ybiptm1oGE+Rz4il' 'u9w25q8R3qQtnZ2WKd+TutpLeox4pZmt1jHlh3VR3X8nuUceFdIm4qc5uKy9mapCY339jXKb+' '08tjewlmN5VxH3H3lBcLcASZfzGv4osFPiVk5SnmCb6p766y7qbvvvL0Zg2GKtHGCDjPJ2FKi' 'cfI2wuNuKsCu2i7qYLzdiP3BXGLYIs1DEAo0hh1eyaJeyq8i7b7KdM26ddNXpPO7SCSTnHbSn' 'ErxXaQVndSJyeJGQOMMe+RJm1aLrk5bku7kYp7SLuPOvlI6/FHs4+87hH2Fats/p8vff8+beV' 'Vyl5etTucMA/a7kSE+XAbNHVPmcGK2ZKBsxSciTPUyqAwUmdRKouFCToDqgwLU3MWQmVUmDnD' '1O7jwsCfOuXFt0JxGKNDaS1rhVwhV5gqpBW0CnEJLaw0G4QKwwrGmlJaQaxw1bp5QRBsBb2iZ' 'MvczQtSWjGvx09m5uXwmnk1tNKDEGYbZli94TX0aqg1nRrE5Z3WoFdDtWyFBr0aqR2URljLqa' '1bbNDrsToywth69QfqGIrcaDVoPSoBqkNtbDE1Wi3iqsAtV6gesSdL0vKCalLNdqa5rjpB3vr' 'z69utfJTmz8qTFclM/z6/3N4cSteSyvT28bW/PL0/935Ffdsd1n9Q7muT+dNw+Xj59lzFU+6W' 'Y5L8ug5qwTR/PFH5bDz+AM/6Dqo=') circle = gdb.str_to_gesture( 'eNq1WNtyGzcMfd8fiV+iIS4EyB9QXzuTD+g4icbxpLU1ttI2f18QoHa5jpy12qlGAyUw9hA4B' 'yQh3dx/vf/z++7u8Hz69nSYfumfxzTdfD7C9OHdw+0fh3fTEe2f9kHT84d3z6enx6+HZ/svTz' 'e/H/N0cxHkg4dNR2lQas8fH+8fTu2x0h6rrzz2a4uajhAZtBS+2yOA0z7tCDMkqjk1y0W1pfN' '3+zNN+/dpl0pGqmdLJcv0/PH25+uwr5Onu74EMxErVLeGMT3fNXQDT4C1kopbLVBhG92LB91G' 'h6RJinRb5A2ZF8euM/aP5JyxhVVShbBiJW9ho7OPcMZG1YTzWzTP2LgAm8XyBmx0bJqxsfSkm' '8UqMzaRluVduW5ju5o4qwkKmFWruM28cGLNcW3eriXOWi5kv8zbNK7GcwmbabtP0LXEWcuB7M'
import json from kivy.properties import ObjectProperty from kivy.uix.screenmanager import Screen, ScreenManager, FadeTransition from kivy.gesture import GestureDatabase, Gesture from gallery.stage import StageLayout from gallery.overview import OverviewScrollView gesture_db = GestureDatabase() gesture_string = json.load(open('gallery/gesture_string.json', 'rb')) for name, gs in gesture_string.items(): gesture = gesture_db.str_to_gesture(gs) gesture.name = name gesture_db.add_gesture(gesture) class MyScreen(Screen): content = ObjectProperty() def __init__(self, name, content): super(MyScreen, self).__init__(name=name) self.content.add_widget(content) class MyScreenManager(ScreenManager): transition = FadeTransition() def __init__(self): super(MyScreenManager, self).__init__() # self.overview_screen = MyScreen('overview')
gesture_strings = { 'left_to_right_line': 'eNq1WMtSI0cQvM+PwMVE17vrB9irI/gABwYFELsGBWht79+7p0qPHoE044NExAhyslPVmdU9La5fvr/8/evmafWx+fm+Gr5t39dluH5cw3B39Xr/1+pqWGP7tb3R8HF39bF5f/u++mh/8nD9Yy3D9Zcid0Eb1jpKWRu/fnt53YzD6jjMTwz7fWQNa8gKxhJ+tSGAw+1v5aZocUexWtkNodpYz7/jfYr7Sk6ExZWNXajd/vP+/MdwfIwMT6c/4WknXqComhcSlMILxGPqYEvERUphpdpQR3KeF68h7ovEkYUUrEIxLVpnxTHcR1gizrXuqm7ew7w2hjYdtEWqF6FaiMgFVDpxNHHjgnnVeV8wEkW5lHxkil2mUnauWLNWKx/kqf7PdsQIFbtQuUhlBsmrQidOlQC07q7ztVOkSnAh9ciVulxJuCIZm9ZSvQnv1bEaOmAtwJWR5puGIlWSy4hHptRlimjdj7h26lgPK2nBUqKIlPwi4hyJcpcooLQpOxRnhdbUnTio9dvjEvmIlOlS8hEqd6EWYwSQglbRqXCXKiDkKkqDfD5Wjli5i7VwtTYFz+ukaYqJiEpVtNL6B+b7nSNY9gvJS0Qr22hHdcn9yzQyEO/U0Q+PjsZa4L1EtEJ7+X3dcbVugy+lybaP39aPbeueVY9kRQ7q4yLdb8JsuJUfa4eudHCXefUIVmyvjkX50DtOclBnZyYGii3Bqs6LR6ziB/FDv6u2ZckH8XpwpVT1+f1dI1SFBeIAtXt0KMybrhGp0hJxnmzvNu+5RqIqS8Qra79U53tdI1C1BeIIBcTUt7HygsojUF0SKHad2Lznec8tAjVY0Oho00af1448bXaJtof1ZGtckKZFmiYLpAm1O/WGI+N3gIf31ep1f6I3HY/0bdj1LRDclOGWRG68f/GwWVsd7kcGnmZ4Mvwko5ZgsJ5mQDDarZMMDIae0aBg2BkGB8PLaYaMjLbXJ6O2twZqgJgT1JKgBcgN7F80MjgZ4RzqdpgmGGahp50G09HaGB5mEeQ0TGKYhz9EWZfZF8PCnxZ4MrJyD0tIKcAKCYYLZOlCxQQlwZogf7bGw4XxVjByOh4u0NbRagnWBGUCeoLpRq2fZwAlZs4FzlBgRzmq7xQfk09nJCkpcobCSbEzlPCv7W5J8Zhz++4ZKJYpaonWKRquMR0peKJTLqRTzMeVdJR0in06MP0QnqJpgRxxc9ateT57vaPkrPWoupy1wRTNWRudqTktsKPq0gKTCYppwXa1f5kJwo6yrFkwzallKT9tq7Xvc8C0za1fJ+0MPqKy67Iv1hdg2CaAZyiWFNtRUjtsk12X7VBPFCYolURxikKiNEWbH/noeF69PD1v4n824wb3KcJG+eflcfMcjNGv2N8aunn7sXq/f31YxR2Jo8aIbx9xf6zf3x5/PqTy2AntINKeiuztyAraHvXjOeTmPyTQtjs=', 'right_to_left_line': 'eNq1WMty4zYQvPNHrMuqMC8M8APea6r8ASnHZtmq3dgqWZtk/z6DASWStijwIl5kjhqNQfcAGHmz+7H75/f2pf84/jr03ffhcx+6zfMeuoe7t8e/+7tuj/anfVD38XD3cTy8/+g/7JW7zc+9dJuLJA8O6/axUKmN37/v3o5lWCrD8sKwPwqq20PNoKTw24YAdvffwjZA5BgwJ2UEUkUuCf1XANTdh23ElCkk0AghRMv2r8frs7DPIt3LlQleKrdkyQCZc0wixNom95WDriKfZy5t8uTkeRU5FM7zBNgkRxcfYQ05qw7hRJE1t8nRyWkVOQcUEEVCDczQ1gXdUVzlKOVZ7im22d1S1Buxu6c49RSUiYaiQCEY2XlSi5LbnpJ7SnAbcveUJp6GTImTuxaQo+iZHDPEyaPcZndPaeJp0ICRSr2ZxDHlUXWksRZd/ja7e0p6I3b3lAZPeZuBBDEA2n40ZfpvQc7skM5ulL2a20cMu6kMN2J3V3lwtQjDGiNArJOksWBswvMmtR1L7Yph95Rl5M6cSlacGG0f4Zh4mDDbWSDtQ4DdUtbbkLujnM/kwBisZlJ0YVRGWUJ5G4WxHdFkF3dU4Ebs7qiMjkIUSRIzJKRs5xgN7H4+KGaRQbQo7fNL3FORVewRIdRvUs7Ull3cU9FV5Dl7zsMCsF3q4qZKvg17dFMjrGEHwsHrso9lxW0d3dS4ylSIg+Dq6q9hd1PjKlPt0oAJf0xtdnc1arPcjR35dLpJ+b5dMtFNjRNTIVkPkVKQQDCjFp2J3qRWd1RHR4OCXXNDRWcuwp7Jp9SauL1N1R3VycGLHKxxG7LMdmWd2WluaWg3veqOqrQvjULPw/6v1e6il98AT4e+fzt39BpLS6/abe4NuA3dPbF9TJ/YHfeauseCgGVEdkTURUQKFUHLCHCEpGUEVsQVDnIE8zKCHUGyjBBH4LIe1hMWRLiSqRaEtWDLCNdU9EqmrqlIqAja5unDhsiuqWCuiLIkC7qMEuQz3hCxIlxGu1nrsFyDrpx1jR4UqEEXiyl+zs4QVBEuFkM1XoYUXB/K6RT8mrnrQ5qXEa4PDfVyEeH61PwvI6xpcgjxFYjLRUhXIK4XAV6BuHoUaCoDBJcPc6xR/uoxBKkQuAJxNe00qhAcuLVGeR5NNYrzaK7RMItCmEVhiLoeqHkexRpN8yjVKJ8K6aswUCU4HR0XIVWCmKblaN1qjco8WlcdYR6tq5ZPDHXVpulsTp1AsEogOBuIVYLTxjtFqwTldfrQFELLkHTBWazi8JD3RYiJU4/u13738nr0/6nY/oP5cZDKz9SHu393z8dXh9gqGYsvFj2+/+wPj29PvX+TvPEv8eGa+XN/eH/+9VSpsyVivQyj1YUSkV1f3uRt/wdC4ZmI', 'bottom_to_top_line': 'eNq1mN1u40YMhe/1IslNDf4OyRfw3hbIAxRpYiTBbhMj9rbdty81I0t2YtWLFewbO6PDbyieEWeU25evL3//WD1tdvvv75vuy/C9he72cYvd3c3r/V+bm25L+TO/uNvd3ez2729fN7v8U7rbb1vtbs9C7qqs25YeZRm/fXt53fdh3ofFTNjvvarbYsugT+FHhiB1699gVRAIUQGYQUrUdP7tL3O3hhWwADuzCIuHWXS7P+//fxaps2j3NEygBu5a1AqzC2C3e/pldr1xtIlNbgpOBY2xaCxhe2XHyBZVQ0N0BoswXsCmWnnCq7Cpsnlkc/GShS6lEBUQXASvZpJeB17dJLsOvNpJk52UK4TJxYsomPrEzkEC1hJQHMxML8K5+sl4HXg1lPk68GooT4YSnK7Eo5oTORBbsHlKwn+CXh1luxK9WsqTpcgqQRxBef/GoRM9O1opQsJEyo5OF+lSPRW8Er2aKnwlenVVJlfBrWdGtnZHCJeJDrmYQtQh233+LnKZXl2VyVXQPtJIQSK7u8pR8od9hEph9fTXLvOrrzL5ClkWL+ZIFJypHvD9JSAxVwwJy26RD8XldaPVWZ2cBYgsUIA4ZTxmWzme4HRP6ZfsJX71Vgdv+/SPFraZl+P8040smKt5OKHQT+CruaojPstK5qSa9SHLLrqIXs1VG+nZXANMsrhJQj+hs6GI5ebFnk06K3qRXq3VONCx7dMebf8jX0Qv1diCI12P9gjVXLGL6NXWMtqKeYABZeXSDkwLc6+ultHV3PFyyaO2viBL6dXVMrpKalYy79wiIk2lZa6W6moZXSXPQMnnKR+XwHzyF9Gtumqjq6f9ajwr/SK8mmqjqcyRlTfAwGKES1OvptpoKhcs2cmQgLLjIF1ckP2rwMP7ZvM6Huyt9Cd7s+52LRh9f50+pVuj4Aq6/da8u59TSFPErEJlFccfS7nDrNygAh1nFVGaguYUWfMzU3KTWwavs/1+jEqFNIV+Brq2KbUpPgWvGeJ0SunlpcrB+yn5Y1JVYU1Rk8oXmDOKVnrQj5fWLHxGHgd5D9RmX8DJYLuXaAUGaYPeBul4MIv0aYJoZQRuimhhcjxoZ24jWuUAP9+GNzujzCqCm8LmFALw2c7weXk5I49ZObb5EWBWQjhIcFbCMEhoXhKDhGcleqDIrKQccpmtudiBUuYlh1zmq+4ySOYr7TZI5qsbQ7o4X90YKJjVbX3sefPy9Lzv/5HQ98J8SUlBDv/z8rh/rqPct5ITlxGll+zfvm3e718fNlUmde/tx4ee+8f2/e3x+0NDaz76K8++nbOA5w4RUU+0q/8AAJ5q8g==' } from kivy.uix.boxlayout import BoxLayout # BEGIN GESTURE_DB from kivy.gesture import GestureDatabase gestures = GestureDatabase() for name, gesture_string in gesture_strings.items(): gesture = gestures.str_to_gesture(gesture_string) gesture.name = name gestures.add_gesture(gesture) # END GESTURE_DB # BEGIN GESTUREBOX class GestureBox(BoxLayout): def on_touch_down(self, touch): touch.ud['gesture_path'] = [(touch.x, touch.y)] super(GestureBox, self).on_touch_down(touch) def on_touch_move(self, touch): touch.ud['gesture_path'].append((touch.x, touch.y)) super(GestureBox, self).on_touch_move(touch) def on_touch_up(self, touch): print(touch.ud['gesture_path']) super(GestureBox, self).on_touch_up(touch)
def __init__(self, *args, **kwargs): super(GestureBoard, self).__init__() self.gdb = GestureDatabase() self.gdb.add_gesture(check)
def __init__(self, *args, **kwargs): super(LockScreen, self).__init__() self.gdb = GestureDatabase() self.gdb.add_gesture(check)
def __init__(self, **kwargs): super(cGestureBoard, self).__init__(**kwargs) self.gdb = GestureDatabase()
def __init__(self, **kwargs): super(Box, self).__init__(**kwargs) self.gdb = GestureDatabase() top_to_button = self.gdb.str_to_gesture(gesture_string) self.gdb.add_gesture(top_to_button) self.register_event_type('on_top_to_button')