
    f	                        d Z ddlmZ ddlmZ ddlmZ g dZ G d de      Z G d	 d
e      Z	 G d de      Z
 G d d      Z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                       e Zd ZdZdZdZdZdZy)r   MOUSE_UP
MOUSE_DOWN	SCROLL_UPSCROLL_DOWN
MOUSE_MOVEN)__name__
__module____qualname__r   r   r   r   r        V/var/www/cvtools/html/venv/lib/python3.12/site-packages/prompt_toolkit/mouse_events.pyr   r      s!     H JIK Jr   r   c                       e Zd ZdZdZdZdZdZy)r   LEFTMIDDLERIGHTNONEUNKNOWNN)r   r   r   r   r   r   r   r   r   r   r   r   r   ,   s    DFE D
 Gr   r   c                      e Zd ZdZdZdZy)r	   SHIFTALTCONTROLN)r   r   r   r   r   r    r   r   r   r	   r	   :   s    E
CGr   r	   c                  4    e Zd ZdZ	 	 	 	 	 	 	 	 	 	 ddZddZy)r
   z
    Mouse event, sent to `UIControl.mouse_handler`.

    :param position: `Point` instance.
    :param event_type: `MouseEventType`.
    c                <    || _         || _        || _        || _        y )Nposition
event_typebutton	modifiers)selfr$   r%   r&   r'   s        r   __init__zMouseEvent.__init__H   s      !$"r   c           	     p    d| j                   d| j                  d| j                  d| j                  d	S )NzMouseEvent(,)r#   )r(   s    r   __repr__zMouseEvent.__repr__T   s;    T]]-Qt.A4;;/QRSWSaSaRddeffr   N)
r$   r   r%   r   r&   r   r'   zfrozenset[MouseModifier]returnNone)r.   str)r   r   r   __doc__r)   r-   r   r   r   r
   r
   @   sB    
#
# #
# 	
#
 ,
# 

#gr   r
   N)r1   
__future__r   enumr   data_structuresr   __all__r   r   r	   r
   r   r   r   <module>r6      sJ   $ #  "
JT  $ D g gr   