Verified Commit 466c25b8 authored by Jakob Moser's avatar Jakob Moser
Browse files

Add mock touch screen

With a little help from Big Pickle
parent df2b24eb
Loading
Loading
Loading
Loading
+23 −0
Changes for poolpay/touch/MockTouchScreen.py: 23 added lines, 0 removed lines.
Original line number Diff line number Diff line
from __future__ import annotations

from collections.abc import Callable
from threading import Thread

import pygame

from poolpay.touch.TouchScreen import TouchScreen


class MockTouchScreen(TouchScreen):
    def on_screen_touched(self, handle_touch: Callable[[], None]) -> None:
        def listen() -> None:
            while True:
                for event in pygame.event.get():
                    if event.type == pygame.MOUSEBUTTONDOWN:
                        handle_touch()
                pygame.time.wait(10)

        Thread(target=listen, daemon=True).start()

    def close(self) -> None:
        pass