Source code for libretro.drivers.led.dict
"""
A LED driver that stores LED state in a dictionary.
.. seealso::
:mod:`libretro.api.led`
Defines the LED interface structure this driver implements.
"""
from typing import override
from .driver import LedDriver
[docs]
class DictLedDriver(LedDriver):
"""A :class:`.LedDriver` that stores LED states in an in-memory :class:`dict`."""
[docs]
def __init__(self):
"""Initialize the driver with an empty LED-state dictionary."""
self._leds: dict[int, int] = {}
[docs]
@override
def set_led_state(self, led: int, state: int) -> None:
"""
:param led: Zero-based LED index.
:param state: Non-zero to turn the LED on, zero to turn it off.
"""
self._leds[led] = state
[docs]
@override
def get_led_state(self, led: int) -> int:
"""
:param led: Zero-based LED index.
:return: The stored LED state, or ``0`` if the LED has never been set.
"""
return self._leds.get(led, 0)
__all__ = ["DictLedDriver"]