
    `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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ed         Z G d d          ZdS )    N)Path)TYPE_CHECKINGAnyCallableLiteralOptionalUnion)ScreencastFrameScreencastSize)Artifact)from_nullable_channel)DisposableStub)Error)locals_to_params)Page)bottomzbottom-leftzbottom-righttopztop-leftz	top-right)nonepointerc                       e Zd ZddZdeddfdZdededdfd	Zd
edefdZ		 	 	 	 d de
deeef         dededef
dZd!dZ	 	 	 	 d de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| j	                   d S )NFscreencastFrame)
_page_loop_dispatcher_fiber_started
_save_path	_on_frame	_artifact_channelon_dispatch_frame)selfr   s     U/tmp/sma-radar-test-venv/lib/python3.11/site-packages/playwright/_impl/_screencast.py__init__zScreencast.__init__.   s[    
Z
!%!76:<@-1*D,@AAAAA    frame_idc                 ~    	 | j         j                            dd d|i           d S # t          t          f$ r Y d S w xY w)NscreencastFrameAckframeId)r   r#   send_no_replyr   OSError)r&   r*   s     r'   
_ack_framezScreencast._ack_frame8   sc    	J--$dY,A     w 	 	 	DD	s   #' <<resultc                 z   K   	 | d {V  |                      |           d S # |                      |           w xY wN)r0   )r&   r1   r*   s      r'   _await_callback_and_ackz"Screencast._await_callback_and_ack@   sL      	&LLLLLLLOOH%%%%%DOOH%%%%s   # :paramsc           	      H   d }d }	 | j         sd	 t          |d          r6| j                            |                     ||d                             }d S |                     |d                    d S |d         }t          |t                    rt          j	        |          }|                      ||
                    dd          |d         |d         d          }t          |d          r5| j                            |                     ||d                             }n|                     |d                    ne# t          |d          r5| j                            |                     ||d                             }w |                     |d                    w xY w|S )	N	__await__r-   data	timestampr   viewportWidthviewportHeight)r8   r9   r:   r;   )r!   hasattrr   create_taskr4   r0   
isinstancestrbase64	b64decodeget)r&   r5   r1   taskr8   s        r'   r%   zScreencast._dispatch_frameF   s   	3>  v{++ 3z--00	9JKK  y 122222# &>D$$$ .'--^^ !'K!;!;%+O%<&,-=&>	  F v{++ 3z--00	9JKK  y 12222 v{++ 3z--00	9JKK  y 12222s   D= 1A+D= =A"FonFramepathqualitysizec           
      t   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)rG   rF   
sendFramesrecordartifactc                  ,                                      S r3   )stopr&   s   r'   <lambda>z"Screencast.start.<locals>.<lambda>y   s    diikk r)   )r   r   r!   r   r#   send_return_as_dictboolrB   r   r"   r    r   )r&   rD   rE   rF   rG   r1   artifact_channels   `      r'   startzScreencast.start`   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_asrO   s    r'   rN   zScreencast.stop{   s      j!&&'7>>>>>>>>>? 	:t~ 	:.((999999999r)   durationpositionfontSizecursorc                     K    j         j                            dd t          t	                                           d {V  t           fd j                   S )NscreencastShowActionsc                  ,                                      S r3   )hide_actionsrO   s   r'   rP   z)Screencast.show_actions.<locals>.<lambda>   s    d&7&7&9&9 r)   )r   r#   rW   r   localsr   )r&   rY   rZ   r[   r\   s   `    r'   show_actionszScreencast.show_actions   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#   rW   rO   s    r'   r`   zScreencast.hide_actions   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screencastRemoveOverlayri   re   )
overlay_idr&   s   r'   rP   z)Screencast.show_overlay.<locals>.<lambda>   s(    DJ',,)4$
1C  r)   )r   r#   rQ   r   ra   rB   r   )r&   rf   rY   r1   rl   s   `   @r'   show_overlayzScreencast.show_overlay   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#   rW   r   ra   )r&   rn   ro   rY   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visibleTre   rO   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 )Nrt   ru   Fre   rO   s    r'   hide_overlayszScreencast.hide_overlays   sW      j!&&)4)U1C
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r)   )r   r   r   N)NNNN)r   Nr3   )NN)__name__
__module____qualname__r(   intr0   r   r4   dictr%   ScreencastFrameCallbackr	   r?   r   r   r   rT   rN   floatScreencastPositionScreencastCursorrb   r`   rm   rr   rv   rx    r)   r'   r   r   -   s#       B B B B3 4    &C &3 &4 & & & &d s    8 ,0!%#? ?(? CI? 	?
 ? 
? ? ? ?6    '+#'
G 
G
G %
G 	
G
 !
G 

G 
G 
G 
GF F F F

 

s 

e 

~ 

 

 

 

  	
 

 
 	

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


 
 
 
 
 
r)   r   )r@   pathlibr   typingr   r   r   r   r   r	    playwright._impl._api_structuresr
   r   playwright._impl._artifactr   playwright._impl._connectionr   playwright._impl._disposabler   playwright._impl._errorsr   playwright._impl._helperr   playwright._impl._pager   r~   r   r   r   r   r)   r'   <module>r      sQ          I I I I I I I I I I I I I I I I L L L L L L L L / / / / / / > > > > > > 7 7 7 7 7 7 * * * * * * 5 5 5 5 5 5 ,++++++ #O#4c#9:    D
 D
 D
 D
 D
 D
 D
 D
 D
 D
r)   