File: //opt/saltstack/salt/lib/python3.10/site-packages/rich/__pycache__/live_render.cpython-310.pyc
o
;j� � @ s� d dl mZmZmZ ddlmZ ddlmZmZm Z m
Z
ddlmZ ddl
mZmZ ddlmZ ddlmZ ed ZG d
d� d�ZdS )
� )�Literal�Optional�Tuple� )� loop_last)�Console�ConsoleOptions�RenderableType�RenderResult)�Control)�ControlType�Segment)� StyleType)�Text)�crop�ellipsisZvisiblec @ s� e Zd ZdZ ddedededdfd d
�Zede fdd��Z
deddfd
d�Zdefdd�Z
defdd�Zdededefdd�ZdS )�
LiveRenderz�Creates a renderable that may be updated.
Args:
renderable (RenderableType): Any renderable object.
style (StyleType, optional): An optional style to apply to the renderable. Defaults to "".
� r �
renderable�style�vertical_overflow�returnNc C s || _ || _|| _d | _d S )N)r r r �_shape)�selfr r r � r �D/opt/saltstack/salt/lib/python3.10/site-packages/rich/live_render.py�__init__ s
zLiveRender.__init__c C s | j du rdS | j d S )z�The number of lines in the last render (may be 0 if nothing was rendered).
Returns:
Height in lines
Nr r )r )r r r r �last_render_height s
zLiveRender.last_render_heightc C s
|| _ dS )z|Set a new renderable.
Args:
renderable (RenderableType): Any renderable object, including str.
N)r )r r r r r �set_renderable+ s
zLiveRender.set_renderablec C sL | j dur#| j \}}ttjtjdfgtjdftjdff|d �R � S t� S )z�Get control codes to move cursor to beginning of live render.
Returns:
Control: A control instance that may be printed.
N� r )r r r �CARRIAGE_RETURN�
ERASE_IN_LINE� CURSOR_UP�r �_�heightr r r �position_cursor3 s
����zLiveRender.position_cursorc C s@ | j dur| j \}}ttjgtjdftjdff| �R � S t� S )z�Get control codes to clear the render and restore the cursor to its previous position.
Returns:
Control: A Control instance that may be printed.
Nr r )r r r r r"