
    iA                     L    d Z ddlZddlZ G d d      Zd Zedk(  r e        yy)z pygame.examples.camera

Basic image capturing and display using pygame.camera

Keyboard controls
-----------------

- 0, start camera 0.
- 1, start camera 1.
- 9, start camera 9.
- 10, start camera... wait a minute! There's not 10 key!
    Nc                   4     e Zd ZdZ fdZd Zd Zd Z xZS )VideoCapturePlayer)i  i  c                      | j                   j                  di | t        |   di | t        j
                  j                  | j                        | _        | j                  d       y )Nr    )	__dict__updatesuper__init__pgdisplayset_modesize	init_cams)selfargd	__class__s     `/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pygame/examples/camera.pyr
   zVideoCapturePlayer.__init__   sR    $t$ 4  zz**4995q    c                 $   t         j                  j                         | _        | j                  st	        d      	 | j                  |   }t         j                  j                  || j                  d      | _        | j                  j                          t        j                  j                         | _        t        j                  j                  | j                  d| j                        | _        |S # t
        $ r | j                  d   }Y w xY w)NSorry, no cameras detected.r   RGB)pygamecameralist_camerasclist
ValueError
IndexErrorCamerar   startr   timeClockclocksurfaceSurfacer   snapshot)r   which_cam_idxcam_ids      r   r   zVideoCapturePlayer.init_cams   s    ]]//1
 zz:;;	#ZZ.F
 mm**6499eD 	WW]]_
 

**499aF  	#ZZ]F	#s   C4 4DDc                     | j                   j                  | j                        | _        t        j                  j                          y N)r   	get_imager   r%   r   flip)r   s    r   get_and_flipzVideoCapturePlayer.get_and_flip9   s.    
 --dll;$ 	

r   c                    t         j                  j                         }|st        d      |d   }t	        d       t	        d       t        |      D ]  \  }}t	        d| d|         d}|rmt        j                  j                         }|D ]  }|j                  t        j                  k(  s:|j                  t        j                  k(  r|j                  t        j                  k(  rd}|j                  t        j                  k(  sz|j                  t        t        j                  t        j                  d	z         v s| j!                  |j                  t        j                  z
        } | j#                          | j$                  j'                          t         j(                  j+                  | d
| j$                  j-                         dd       |rly y )Nr   r   zH
Press the associated number for the desired camera to see that display!zA(Selecting a camera that does not exist will default to camera 0)[z]: TF
   z (z.2fz FPS))r   r   r   r   print	enumerater   eventgettypeQUITKEYDOWNkeyK_ESCAPErangeK_0r   r,   r"   tickr   set_captionget_fps)r   r   r   indexcamgoingeventses           r   mainzVideoCapturePlayer.mainR   sg   **,:;;q 	W	
 	QR#E* 	'JE3AeWCu%&	' XX\\^F @66RWW$2::)=!%%2;;BV!E66RZZ'uubffbffrk ::!%!?@ JJOONN&&&DJJ4F4F4H3MU'ST r   )	__name__
__module____qualname__r   r
   r   r,   rC   __classcell__)r   s   @r   r   r      s    D82Ur   r   c                      t        j                          t        j                  j                          t	               j                          t        j                          y r)   )r   initr   r   r   rC   quitr   r   r   rC   rC   q   s3    GGI
MMGGIr   __main__)__doc__r   r   pygame.camerar   rC   rD   r   r   r   <module>rN      s:     \U \U~ zF r   