
    n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 erd d	lmZ eegef   Zed
   Z G d d      Zy)    N)Path)TYPE_CHECKINGAnyCallableLiteralOptionalUnion)ScreencastFrame)Artifact)from_nullable_channel)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dfd	Zdd
Z	 	 	 ddedede
ddfdZddZddededdfdZ	 	 ddedededdfdZddZddZy)
ScreencastreturnNc                      | _         |j                   _        |j                   _        d _        d  _        d  _        d  _        |j                  j                  d fd       y )NFscreencastFramec                 &    j                  |       S N)_dispatch_frame)paramsselfs    P/home/ubuntu/.local/lib/python3.12/site-packages/playwright/_impl/_screencast.py<lambda>z%Screencast.__init__.<locals>.<lambda>1   s    4;O;OPV;W     )	_page_loop_dispatcher_fiber_started
_save_path	_on_frame	_artifact_channelon)r   pages   ` r   __init__zScreencast.__init__)   sU    
ZZ
!%!7!76:<@-1*,WXr   r   c                     | j                   sy |d   }t        |t              rt        j                  |      }| j                  d|i      }t        |d      r&| j                  j                  j                  |       y y )Ndata	__await__)	r$   
isinstancestrbase64	b64decodehasattrr   r    create_task)r   r   r+   results       r   r   zScreencast._dispatch_frame3   sh    ~~f~dC ##D)D/6;'JJ((0 (r   onFramepathqualityc           	      B  K   | j                   rt        d      d| _         || _        | j                  j                  j                  dd |t        |      t        |      d       d {   }|xs i j                  d      }|rt        |      | _	        || _
        y y 7 4w)NzScreencast is already startedTscreencastStart)r6   
sendFramesrecordartifact)r"   r   r$   r   r&   send_return_as_dictboolgetr   r%   r#   )r   r4   r5   r6   r3   artifact_channels         r   startzScreencast.start=   s      ==788 zz**>>""7mt*
 
 #Lb--j923CDDN"DO 
s   A&B(B)5Bc                 2  K   d| _         d | _        | j                  j                  j	                  dd        d {    | j
                  r9| j                  r-| j                  j                  | j
                         d {    d | _        d | _        y 7 X7 w)NFscreencastStop)r"   r$   r   r&   sendr#   r%   save_asr   s    r   stopzScreencast.stopU   su     jj!!&&'7>>>??t~~..((999	 	?9s"   8BBAB?B BBdurationpositionfontSizec                    K   | j                   j                  j                  dd t        t	                            d {    y 7 w)NscreencastShowActionsr   r&   rC   r   locals)r   rG   rH   rI   s       r   show_actionszScreencast.show_actions^   s9      jj!!&&#T+;FH+E
 	
 	
   <AAAc                 l   K   | j                   j                  j                  dd        d {    y 7 w)NscreencastHideActionsr   r&   rC   rE   s    r   hide_actionszScreencast.hide_actionsh   s'     jj!!&&'>EEEs   *424htmlc                    K   | j                   j                  j                  dd t        t	                            d {    y 7 w)NscreencastShowOverlayrL   )r   rT   rG   s      r   show_overlayzScreencast.show_overlayk   s7     jj!!&&#T+;FH+E
 	
 	
rO   titledescriptionc                    K   | j                   j                  j                  dd t        t	                            d {    y 7 w)NscreencastChapterrL   )r   rX   rY   rG   s       r   show_chapterzScreencast.show_chapterp   s9      jj!!&&'7'A
 	
 	
rO   c                 r   K   | j                   j                  j                  dd ddi       d {    y 7 w)NscreencastSetOverlayVisiblevisibleTrR   rE   s    r   show_overlayszScreencast.show_overlaysz   s4     jj!!&&)4)T1B
 	
 	
   -757c                 r   K   | j                   j                  j                  dd ddi       d {    y 7 w)Nr^   r_   FrR   rE   s    r   hide_overlayszScreencast.hide_overlays   s4     jj!!&&)4)U1C
 	
 	
ra   )r(   r   r   N)NNN)r   Nr   )NN)__name__
__module____qualname__r)   dictr   ScreencastFrameCallbackr	   r.   r   intr@   rF   floatScreencastPositionrN   rS   rW   r\   r`   rc    r   r   r   r   (   s    Y1d 1t 1 ,0!%	#(# CI# 	#
 
#0 '+	

 %
 	

 

F
s 
e 
t 
  	

 
 	

 




r   r   )r/   pathlibr   typingr   r   r   r   r   r	    playwright._impl._api_structuresr
   playwright._impl._artifactr   playwright._impl._connectionr   playwright._impl._errorsr   playwright._impl._helperr   playwright._impl._pager   rh   rk   r   rl   r   r   <module>ru      sY      I I < / > * 5+ #O#4c#9:  Z
 Z
r   