
    d                     F    S r SSKJr  Sr " S S5      r\r " S S\5      rg)	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.
    )unicode_literals)MouseEventType
MouseEventc                   $    \ rS rSrSrSrSrSrSrg)r      MOUSE_UP
MOUSE_DOWN	SCROLL_UPSCROLL_DOWN N)	__name__
__module____qualname____firstlineno__r   r	   r
   r   __static_attributes__r       .lib/third_party/prompt_toolkit/mouse_events.pyr   r      s    HJIKr   r   c                   $    \ rS rSrSrS rS rSrg)r   $   zz
Mouse event, sent to `UIControl.mouse_handler`.

:param position: `Point` instance.
:param event_type: `MouseEventType`.
c                     Xl         X l        g )Nposition
event_type)selfr   r   s      r   __init__MouseEvent.__init__+   s     $r   c                 @    SU R                   < SU R                  < S3$ )NzMouseEvent(z, )r   )r   s    r   __repr__MouseEvent.__repr__/   s    '+}}dooFFr   )r   r   N)r   r   r   r   __doc__r   r   r   r   r   r   r   r   $   s    %Gr   r   N)r!   
__future__r   __all__r   MouseEventTypesobjectr   r   r   r   <module>r&      s5   " (    !G Gr   