o
    MEgI                     @   sn   d dl mZmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 er.ddlmZmZmZmZ G dd	 d	Zd
S )    )OptionalTYPE_CHECKING   )Measurement)Segment)	StyleType)	loop_last)ConsoleConsoleOptionsRenderResultRenderableTypec                   @   sJ   e Zd ZdZ		dded dee ddfddZ			
				dddZdS )ScreenzA renderable that fills the terminal screen and crops excess.

    Args:
        renderable (RenderableType): Child renderable.
        style (StyleType, optional): Optional background style. Defaults to None.
    N
renderabler   stylereturnc                 C   s   || _ || _d S )N)r   r   )selfr   r    r   e/var/www/eduai.edurigo.com/doc_train/edurigo_ai/Puru/venv/lib/python3.10/site-packages/rich/screen.py__init__   s   
zScreen.__init__consoler	   optionsr
   r   c                 c   s    |j \}}| jr|| jnd }|j||d}|j| jpd||dd}tj||||d}t }t	|D ]\}	}
|
E d H  |	sC|V  q5d S )N)widthheight T)r   pad)r   )
sizer   	get_styleupdaterender_linesr   r   	set_shapeliner   )r   r   r   r   r   r   render_optionslinesnew_linelastr    r   r   r   __rich_console__   s   

zScreen.__rich_console__)NN)r   r	   r   r
   r   r   )__name__
__module____qualname____doc__r   r   r   r%   r   r   r   r   r      s$    	
r   N)typingr   r   measurer   segmentr   r   r   _loopr   r   r	   r
   r   r   r   r   r   r   r   <module>   s    