
    'j                         d dl Z d dlmZ d dlmZmZmZmZmZm	Z	 d dl
mZ d dl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 eegef         Zed         Z G d d          ZdS )    N)Path)TYPE_CHECKINGAnyCallableLiteralOptionalUnion)ScreencastFrame)Artifact)from_nullable_channel)DisposableStub)Error)locals_to_params)Page)bottomzbottom-leftzbottom-righttopztop-leftz	top-rightc            	           e Zd ZddZdeddfdZ	 	 	 dded	eee	f         d
e
defdZddZ	 	 	 ddedede
defdZddZddededefdZ	 	 ddedededdfdZddZddZdS )
Screencastpager   returnNc                      | _         |j         _        |j         _        d _        d  _        d  _        d  _        |j                            d fd           d S )NFscreencastFramec                 .                         |           S N)_dispatch_frame)paramsselfs    `/home/ice/.hermes/hermes-agent/venv/lib/python3.11/site-packages/playwright/_impl/_screencast.py<lambda>z%Screencast.__init__.<locals>.<lambda>2   s    4;O;OPV;W;W     )	_page_loop_dispatcher_fiber_started
_save_path	_on_frame	_artifact_channelon)r   r   s   ` r   __init__zScreencast.__init__*   sc    
Z
!%!76:<@-1*,W,W,W,WXXXXXr    r   c                 &   | j         sd S |d         }t          |t                    rt          j        |          }|                      ||d         |d         d          }t          |d          r!| j        j                            |           d S d S )NdataviewportWidthviewportHeight)r,   r-   r.   	__await__)	r&   
isinstancestrbase64	b64decodehasattrr!   r"   create_task)r   r   r,   results       r   r   zScreencast._dispatch_frame4   s    ~ 	Ff~dC   	*#D))D!'!8"()9": 
 
 6;'' 	1J((00000	1 	1r    onFramepathqualityc           	      r   K    j         rt          d          d _         | _         j        j                            dd |t          |          t          |          d           d {V }|pi                     d          }|rt          |           _	        | _
        t           fd j                  S )NzScreencast is already startedTscreencastStart)r9   
sendFramesrecordartifactc                  ,                                      S r   )stopr   s   r   r   z"Screencast.start.<locals>.<lambda>[   s    diikk r    )r$   r   r&   r!   r(   send_return_as_dictboolgetr   r'   r%   r   )r   r7   r8   r9   r6   artifact_channels   `     r   startzScreencast.startD   s       = 	97888 z*>>""7mmt** 
 
 
 
 
 
 
 
 #Lb--j99 	#23CDDDN"DO11114:>>>r    c                    K   d| _         d | _        | j        j                            dd            d {V  | j        r,| j        r%| j                            | j                   d {V  d | _        d | _        d S )NFscreencastStop)r$   r&   r!   r(   sendr%   r'   save_asrA   s    r   r@   zScreencast.stop]   s      j!&&'7>>>>>>>>>? 	:t~ 	:.((999999999r    durationpositionfontSizec                     K    j         j                            dd t          t	                                           d {V  t           fd j                   S )NscreencastShowActionsc                  ,                                      S r   )hide_actionsrA   s   r   r   z)Screencast.show_actions.<locals>.<lambda>o   s    d&7&7&9&9 r    )r!   r(   rI   r   localsr   )r   rK   rL   rM   s   `   r   show_actionszScreencast.show_actionsf   sv       j!&&#T+;FHH+E+E
 
 	
 	
 	
 	
 	
 	
 	
 99994:FFFr    c                 V   K   | j         j                            dd            d {V  d S )NscreencastHideActionsr!   r(   rI   rA   s    r   rQ   zScreencast.hide_actionsq   s:      j!&&'>EEEEEEEEEEEr    htmlc                     K    j         j                            dd t          t	                                           d {V }|pi                     d          t           fd j                   S )NscreencastShowOverlayidc                  J    j         j                            dd d i          S )NscreencastRemoveOverlayrZ   rV   )
overlay_idr   s   r   r   z)Screencast.show_overlay.<locals>.<lambda>z   s(    DJ',,)4$
1C  r    )r!   r(   rB   r   rR   rD   r   )r   rW   rK   r6   r]   s   `   @r   show_overlayzScreencast.show_overlayt   s      z*>>#T+;FHH+E+E
 
 
 
 
 
 
 
 l''--
     J	
 
 	
r    titledescriptionc                    K   | j         j                            dd t          t	                                           d {V  d S )NscreencastChapter)r!   r(   rI   r   rR   )r   r_   r`   rK   s       r   show_chapterzScreencast.show_chapter   sa       j!&&'7'A'A
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r    c                 \   K   | j         j                            dd ddi           d {V  d S )NscreencastSetOverlayVisiblevisibleTrV   rA   s    r   show_overlayszScreencast.show_overlays   sW      j!&&)4)T1B
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r    c                 \   K   | j         j                            dd ddi           d {V  d S )Nre   rf   FrV   rA   s    r   hide_overlayszScreencast.hide_overlays   sW      j!&&)4)U1C
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r    )r   r   r   N)NNN)r   Nr   )NN)__name__
__module____qualname__r*   dictr   ScreencastFrameCallbackr	   r1   r   intr   rF   r@   floatScreencastPositionrS   rQ   r^   rc   rg   ri    r    r   r   r   )   s       Y Y Y Y1d 1t 1 1 1 1$ ,0!%	? ?(? CI? 	?
 
? ? ? ?2    '+		G 	G	G %	G 		G
 
	G 	G 	G 	GF F F F

 

s 

e 

~ 

 

 

 

  	
 

 
 	

 

 
 
 

 
 
 


 
 
 
 
 
r    r   )r2   pathlibr   typingr   r   r   r   r   r	    playwright._impl._api_structuresr
   playwright._impl._artifactr   playwright._impl._connectionr   playwright._impl._disposabler   playwright._impl._errorsr   playwright._impl._helperr   playwright._impl._pager   rn   rq   r   rr   r    r   <module>r|      s9          I I I I I I I I I I I I I I I I < < < < < < / / / / / / > > > > > > 7 7 7 7 7 7 * * * * * * 5 5 5 5 5 5 ,++++++ #O#4c#9:  i
 i
 i
 i
 i
 i
 i
 i
 i
 i
r    