Ejemplo n.º 1
0
    def mouse_init(self, on_demand=False, disabled=False, scatter=False):
        # prepare MouseMotionEventProvider
        # and widget it interacts with
        from kivy.base import EventLoop
        from kivy.uix.button import Button
        from kivy.uix.scatter import Scatter

        eventloop = EventLoop
        win = eventloop.window
        eventloop.idle()
        wid = Scatter() if scatter else Button()

        if on_demand:
            mode = 'multitouch_on_demand'
        elif disabled:
            mode = 'disable_multitouch'
        else:
            mode = ''
        mouse = Mouse('unittest', mode)
        mouse.is_touch = True

        # defaults from ME, it's missing because we use
        # the provider directly instead of ME
        mouse.scale_for_screen = lambda *_, **__: None
        mouse.grab_exclusive_class = None
        mouse.grab_list = []

        if on_demand:
            self.assertTrue(mouse.multitouch_on_demand)
        return (eventloop, win, mouse, wid)
Ejemplo n.º 2
0
    def mouse_init(self, on_demand=False, disabled=False, scatter=False):
        # prepare MouseMotionEventProvider
        # and widget it interacts with
        from kivy.base import EventLoop
        from kivy.uix.button import Button
        from kivy.uix.scatter import Scatter

        eventloop = EventLoop
        win = eventloop.window
        eventloop.idle()
        wid = Scatter() if scatter else Button()

        if on_demand:
            mode = 'multitouch_on_demand'
        elif disabled:
            mode = 'disable_multitouch'
        else:
            mode = ''
        mouse = Mouse('unittest', mode)
        mouse.is_touch = True

        # defaults from ME, it's missing because we use
        # the provider directly instead of ME
        mouse.scale_for_screen = lambda *_, **__: None
        mouse.grab_exclusive_class = None
        mouse.grab_list = []

        if on_demand:
            self.assertTrue(mouse.multitouch_on_demand)
        return (eventloop, win, mouse, wid)
Ejemplo n.º 3
0
 def setUp(self):
     super().setUp()
     self.etype = None
     self.motion_event = None
     self.touch_event = None
     self.button_widget = None
     from kivy.input.providers.mouse import MouseMotionEventProvider
     self.mouse = mouse = MouseMotionEventProvider('mouse', '')
     from kivy.base import EventLoop
     win = EventLoop.window
     win.mouse_pos = (0.0, 0.0)
     win.rotation = 0
     win.system_size = (320, 240)
     mouse.start()
     EventLoop.add_input_provider(mouse)
     win.fbind('on_motion', self.on_motion)
     # Patch `win.on_close` method to prevent EventLoop from removing
     # window from event listeners list.
     self.old_on_close = win.on_close
     win.on_close = lambda *args: None