)L i dZddlmZddlmZddlmZgdZGddeZGd d eZ Gd d eZ Gd dZ y)a Mouse events. How it works ------------ The renderer has a 2 dimensional grid of mouse event handlers. (`prompt_toolkit.layout.MouseHandlers`.) When the layout is rendered, the `Window` class will make sure that this grid will also be filled with callbacks. For vt100 terminals, mouse events are received through stdin, just like any other key press. There is a handler among the key bindings that catches these events and forwards them to such a mouse event handler. It passes through the `Window` class where the coordinates are translated from absolute coordinates to coordinates relative to the user control, and there `UIControl.mouse_handler` is called. ) annotations)Enum)Point)MouseEventType MouseButton MouseModifier MouseEventc eZdZdZdZdZdZdZy)rMOUSE_UP MOUSE_DOWN SCROLL_UP SCROLL_DOWN MOUSE_MOVEN)__name__ __module__ __qualname__r r rrra/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/prompt_toolkit/mouse_events.pyrrs!HJIKJrrc eZdZdZdZdZdZdZy)rLEFTMIDDLERIGHTNONEUNKNOWNN)rrrrrrrrrrrrr,s D F E D GrrceZdZdZdZdZy)r SHIFTALTCONTROLN)rrrrrr rrrr r :s E CGrr c4eZdZdZ ddZddZy)r z Mouse event, sent to `UIControl.mouse_handler`. :param position: `Point` instance. :param event_type: `MouseEventType`. c<||_||_||_||_y)Nposition event_typebutton modifiers)selfr$r%r&r's r__init__zMouseEvent.__init__Hs ! $ "rc pd|jd|jd|jd|jd S)Nz MouseEvent(,)r#)r(s r__repr__zMouseEvent.__repr__Ts;T]]-Qt.A4;;/QRSWSaSaRddeffrN) r$rr%rr&rr'zfrozenset[MouseModifier]returnNone)r.str)rrr__doc__r)r-rrrr r @sB # ## # # , #  #grr N) r1 __future__renumrdata_structuresr__all__rrr r rrrr6sJ$#" J T  $ D ggr