o
    tVgA                     @   s@   d Z ddlZddlZG dd dZdd Zedkre  dS dS )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                       s8   e Zd ZdZ fddZdd Zdd Zdd	 Z  ZS )
VideoCapturePlayer)i  i  c                    sB   | j jdi | t jdi | tj| j| _| d d S )Nr    )	__dict__updatesuper__init__pgdisplayset_modesize	init_cams)selfargd	__class__r   J/home/ubuntu/.local/lib/python3.10/site-packages/pygame/examples/camera.pyr      s   zVideoCapturePlayer.__init__c                 C   s   t j | _| jstdz| j| }W n ty"   | jd }Y nw t j|| jd| _| j  t	j
 | _t	j| jd| j| _|S )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_idr   r   r   r      s   
zVideoCapturePlayer.init_camsc                 C   s   | j | j| _tj  d S N)r   	get_imager	   r!   r   flip)r   r   r   r   get_and_flip9   s   zVideoCapturePlayer.get_and_flipc                 C   s  t j }|std|d }td td t|D ]\}}td| d|  qd}|rtj }|D ]1}|j	tj
ksI|j	tjkrK|jtjkrKd}|j	tjkrf|jttjtjd	 v rf| |jtj }q5|   | j  t j| d
| j dd |s.d S d S )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er   r   r   mainR   s0   

$
 zVideoCapturePlayer.main)	__name__
__module____qualname__r   r   r   r'   r=   __classcell__r   r   r   r   r      s    r   c                   C   s(   t   tj  t   t   d S r$   )r   initr   r   r   r=   quitr   r   r   r   r=   q   s   

r=   __main__)__doc__r   r   pygame.camerar   r=   r>   r   r   r   r   <module>   s   _
