
                         B    d dl mZ d dlmZ d dlmZ dZ G d de      Zy)    )unicode_literals)product)defaultdict)MouseHandlersc                       e Zd ZdZd ZddZy)r   z?
    Two dimentional raster of callbacks for mouse events.
    c                 2    d t        fd      | _        y )Nc                      y)zD
            :param mouse_event: `MouseEvent` instance.
            N )climouse_events     7lib/third_party/prompt_toolkit/layout/mouse_handlers.pydummy_callbackz.MouseHandlers.__init__.<locals>.dummy_callback   s        c                       S Nr
   )r   s   r   <lambda>z(MouseHandlers.__init__.<locals>.<lambda>   s    .r   )r   mouse_handlers)selfr   s    @r   __init__zMouseHandlers.__init__   s    	 **@Ar   Nc                 v    t        t        ||      t        ||            D ]  \  }}|| j                  ||f<    y)z1
        Set mouse handler for a region.
        N)r   ranger   )r   x_minx_maxy_miny_maxhandlerxys           r   set_mouse_handler_for_rangez)MouseHandlers.set_mouse_handler_for_range   s<     E%/ue1DEDAq'.D!$ Fr   r   )__name__
__module____qualname____doc__r   r   r
   r   r   r   r      s    B/r   r   N)	
__future__r   	itertoolsr   collectionsr   __all__objectr   r
   r   r   <module>r)      s!    '  #
/F /r   