o
    Vh0	                     @  sZ   d dl mZ d dlZd dlmZ d dlmZ d dlmZ er$d dlm	Z	 G dd dZ
dS )	    )annotationsN)TYPE_CHECKING)TextIO)IO)Outputc                   @  s   e Zd Zd,d-dd	Zd.d/ddZd.d/ddZd.d0ddZd.d0ddZd1ddZd2ddZ	d3ddZ
d3ddZd3d d!Zd3d"d#Zd3d$d%Zd3d&d'Zd3d(d)Zd3d*d+ZdS )4CursorNioIO | OutputinputTextIO | NonereturnNonec                 C  s.   t |tr|j}|| _|d u rtj}|| _d S N)
isinstancer   output_outputsysstdin_input)selfr   r
    r   _/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/cleo/cursor.py__init__   s   

zCursor.__init__   linesintc                 C     | j d| d | S )N[Ar   writer   r   r   r   r   move_up      zCursor.move_upc                 C  r   )Nr   Br   r!   r   r   r   	move_down    r#   zCursor.move_downcolumnsc                 C  r   )Nr   Cr   r   r&   r   r   r   
move_right%   r#   zCursor.move_rightc                 C  r   )Nr   Dr   r(   r   r   r   	move_left*   r#   zCursor.move_leftcolumnc                 C  r   )Nr   Gr   )r   r,   r   r   r   move_to_column/   r#   zCursor.move_to_columnrowc                 C  s"   | j d|d  d| d | S )Nr   r   ;Hr   )r   r,   r/   r   r   r   move_to_position4   s   zCursor.move_to_positionc                 C     | j d | S )Nz7r   r   r   r   r   save_position9      zCursor.save_positionc                 C  r3   )Nz8r   r4   r   r   r   restore_position>   r6   zCursor.restore_positionc                 C  r3   )Nz[?25lr   r4   r   r   r   hideC   r6   zCursor.hidec                 C  r3   )Nz[?25h[?0cr   r4   r   r   r   showH   r6   zCursor.showc                 C  r3   )z>
        Clears all the output from the current line.
        z[2Kr   r4   r   r   r   
clear_lineM      zCursor.clear_linec                 C  r3   )zY
        Clears all the output from the current line after the current position.
        z[Kr   r4   r   r   r   clear_line_afterU   r;   zCursor.clear_line_afterc                 C  r3   )zl
        Clears all the output from the cursors' current position
        to the end of the screen.
        z[0Jr   r4   r   r   r   clear_output]   s   zCursor.clear_outputc                 C  r3   )z+
        Clears the entire screen.
        z[2Jr   r4   r   r   r   clear_screenf   r;   zCursor.clear_screenr   )r   r	   r
   r   r   r   )r   )r   r   r   r   )r&   r   r   r   )r,   r   r   r   )r,   r   r/   r   r   r   )r   r   )__name__
__module____qualname__r   r"   r%   r)   r+   r.   r2   r5   r7   r8   r9   r:   r<   r=   r>   r   r   r   r   r      s     








	r   )
__future__r   r   typingr   r   
cleo.io.ior   cleo.io.outputs.outputr   r   r   r   r   r   <module>   s    