test-kivy-app/kivy_venv/lib/python3.11/site-packages/kivy/input/factory.py

36 lines
952 B
Python
Raw Normal View History

2024-09-15 12:12:16 +00:00
'''
Motion Event Factory
====================
Factory of :class:`~kivy.input.motionevent.MotionEvent` providers.
'''
__all__ = ('MotionEventFactory', )
class MotionEventFactory:
'''MotionEvent factory is a class that registers all availables input
factories. If you create a new input factory, you need to register
it here::
MotionEventFactory.register('myproviderid', MyInputProvider)
'''
__providers__ = {}
@staticmethod
def register(name, classname):
'''Register a input provider in the database'''
MotionEventFactory.__providers__[name] = classname
@staticmethod
def list():
'''Get a list of all available providers'''
return MotionEventFactory.__providers__
@staticmethod
def get(name):
'''Get a provider class from the provider id'''
if name in MotionEventFactory.__providers__:
return MotionEventFactory.__providers__[name]