
    /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y)    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y)
ScreencastreturnNc                      | _         |j                   _        |j                   _        d _        d  _        d  _        d  _        |j                  j                  d fd       y )NFscreencastFramec                 &    j                  |       S N)_dispatch_frame)paramsselfs    Z/var/www/html/maxservice/venv/lib/python3.12/site-packages/playwright/_impl/_screencast.py<lambda>z%Screencast.__init__.<locals>.<lambda>2   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   |d   d      }t        |d      r&| j                  j                  j                  |       y y )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~dC ##D)D!'!8"()9":
 6;'JJ((0 (r   onFramepathqualityc           	      r   K    j                   rt        d      d _         | _         j                  j                  j                  dd |t        |      t        |      d       d {   }|xs i j                  d      }|rt        |       _	        | _
        t         fd j                        S 7 Kw)NzScreencast is already startedTscreencastStart)r9   
sendFramesrecordartifactc                  $     j                         S r   )stopr   s   r   r   z"Screencast.start.<locals>.<lambda>[   s    diik 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      ==788 zz**>>""7mt*
 
 #Lb--j923CDDN"DO14::>>
s   A&B7)B5*AB7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_asrA   s    r   r@   zScreencast.stop]   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 {    t         fd j                         S 7 w)NscreencastShowActionsc                  $     j                         S r   )hide_actionsrA   s   r   r   z)Screencast.show_actions.<locals>.<lambda>o   s    d&7&7&9 r   )r    r'   rI   r   localsr   )r   rK   rL   rM   s   `   r   show_actionszScreencast.show_actionsf   sS      jj!!&&#T+;FH+E
 	
 	
 94::FF	
s   <AA Ac                 l   K   | j                   j                  j                  dd        d {    y 7 w)NscreencastHideActionsr    r'   rI   rA   s    r   rQ   zScreencast.hide_actionsq   s'     jj!!&&'>EEEs   *424htmlc                     K    j                   j                  j                  dd t        t	                            d {   }|xs i j                  d      t         fd j                         S 7 3w)NscreencastShowOverlayidc                  V    j                   j                  j                  dd d i      S )NscreencastRemoveOverlayrZ   rV   )
overlay_idr   s   r   r   z)Screencast.show_overlay.<locals>.<lambda>z   s(    DJJ'',,)4$
1C r   )r    r'   rB   r   rR   rD   r   )r   rW   rK   r6   r]   s   `   @r   show_overlayzScreencast.show_overlayt   sk     zz**>>#T+;FH+E
 
 l''-
 JJ	
 	
	
s   <A6 A44A6titledescriptionc                    K   | j                   j                  j                  dd t        t	                            d {    y 7 w)NscreencastChapter)r    r'   rI   r   rR   )r   r_   r`   rK   s       r   show_chapterzScreencast.show_chapter   s9      jj!!&&'7'A
 	
 	
s   <AAAc                 r   K   | j                   j                  j                  dd ddi       d {    y 7 w)NscreencastSetOverlayVisiblevisibleTrV   rA   s    r   show_overlayszScreencast.show_overlays   s4     jj!!&&)4)T1B
 	
 	
   -757c                 r   K   | j                   j                  j                  dd ddi       d {    y 7 w)Nre   rf   FrV   rA   s    r   hide_overlayszScreencast.hide_overlays   s4     jj!!&&)4)U1C
 	
 	
rh   )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   rj    r   r   r   r   )   s    Y1d 1t 1$ ,0!%	?(? CI? 	?
 
?2 '+		G	G %	G 		G
 
	G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   ro   rr   r   rs   r   r   <module>r}      s\      I I < / > 7 * 5+ #O#4c#9:  i
 i
r   