a
    V$c                     @   s   d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlZdag dZdd Zdd	 Zd
d Zdd Zdd Zdd Zdd ZdS )    )divisionabsolute_importwith_statementprint_functionunicode_literals)PY2
basestringbchrbordchropenpystrrangeroundstrtobytesunicode)OptionalN)r   r   r   c                 C   s   t du r| |fS t S )z6
    Called to get the overridden mouse position.
    N	mouse_pos)xy r   renpy/test\testmouse.pyget_mouse_pos$   s    r   c                 K   s$   t jt jj| fddi| d S )NtestT)pygameeventpostEvent)
event_typekwargsr   r   r   r   /   s    r   c                 C   sX   | |f}t |krPt r6|d t d  |d t d  f}nd}ttj||ttd |a dS )z"
    Moves the mouse to x, y.
    r      )r   r   )posrelbuttonsN)r   r   r   MOUSEMOTIONtuplemouse_buttons)r   r   r#   r$   r   r   r   
move_mouse3   s    "r)   c                 C   s(   t tjt| d | dk r$dt| d < dS )z(
    Presses mouse button `button`.
    r#   button   r"   N)r   r   MOUSEBUTTONDOWNr   r(   r+   r   r   r   press_mouseG   s    r/   c                 C   s(   t tjt| d | dk r$dt| d < dS )z)
    Releases mouse button `button`.
    r*   r,   r   r"   N)r   r   MOUSEBUTTONUPr   r(   r.   r   r   r   release_mouseR   s    r1   c                 C   s   t || t|  t|  dS )z"
    Clicks the mouse at x, y
    N)r)   r/   r1   )r+   r   r   r   r   r   click_mouse\   s    
r2   c                   C   s   da dS )z8
    Resets mouse handling once the test has ended.
    Nr   r   r   r   r   resetf   s    r3   ) 
__future__r   r   r   r   r   renpy.compatr   r   r	   r
   r   r   r   r   r   r   r   r   typingr   pygame_sdl2r   r   r(   r   r   r)   r/   r1   r2   r3   r   r   r   r   <module>   s   8

