
    /h7                     t    d dl mZ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mZ  G d d          Zd	S )
    )OptionalTYPE_CHECKING   )Segment)	StyleType)	loop_last)ConsoleConsoleOptionsRenderResultRenderableTypeGroupc            	       ^    e Zd ZU dZded<   ddddddee         d	ed
dfdZ	 	 	 	 	 	 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.
    r   
renderableNF)styleapplication_moderenderablesr   r   returnc                B    ddl m}  || | _        || _        || _        d S )Nr   )r   )pip._vendor.rich.consoler   r   r   r   )selfr   r   r   r   s        J/var/www/html/venv/lib/python3.11/site-packages/pip/_vendor/rich/screen.py__init__zScreen.__init__   s9     	322222%-
 0    consoler	   optionsr
   r   c              #     K   |j         \  }}| j        r|                    | j                  nd }|                    ||          }|                    | j        pd||d          }t          j        ||||          }| j        rt          d          nt          j	                    }t          |          D ]\  }	}
|
E d {V  |	s|V  d S )N)widthheight T)r   pad)r   z
)sizer   	get_styleupdaterender_linesr   r   	set_shaper   liner   )r   r   r   r   r   r   render_optionslinesnew_linelastr'   s              r   __rich_console__zScreen.__rich_console__(   s        v15E!!$*--- eFCC$$O!r>D % 
 
 !%eDDD&*&;O76???#E** 	 	JD$OOOOOOO 	 	r   )r   r	   r   r
   r   r   )
__name__
__module____qualname____doc____annotations__r   r   boolr   r,    r   r   r   r      s           !   
 &*!&	
1 
1 
1&
1 	"
1 	
1
 

1 
1 
1 
1 +;	     r   r   N)typingr   r   segmentr   r   r   _loopr   r   r	   r
   r   r   r   r   r3   r   r   <module>r7      s    * * * * * * * *                                 $ $ $ $ $ $ $ $ $ $r   