3b1b-manim/manimlib/event_handler/event_listner.py

32 lines
815 B
Python
Raw Normal View History

from __future__ import annotations
2022-04-12 19:19:59 +08:00
from typing import TYPE_CHECKING
if TYPE_CHECKING:
2022-04-12 19:19:59 +08:00
from typing import Callable
from manimlib.event_handler.event_type import EventType
2022-04-12 19:19:59 +08:00
from manimlib.mobject.mobject import Mobject
2023-01-31 09:08:24 -08:00
class EventListener(object):
def __init__(
self,
mobject: Mobject,
event_type: EventType,
event_callback: Callable[[Mobject, dict[str]]]
):
self.mobject = mobject
self.event_type = event_type
self.callback = event_callback
def __eq__(self, o: object) -> bool:
return_val = False
try:
return_val = self.callback == o.callback \
and self.mobject == o.mobject \
and self.event_type == o.event_type
except:
pass
return return_val