o
    OZhA                     @   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)selfZargd	__class__r   E/var/www/auris/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
IndexErrorZCamerar   startr   timeZClockclockZsurfaceZSurfacer	   snapshot)r   Zwhich_cam_idxZcam_idr   r   r   r      s   
zVideoCapturePlayer.init_camsc                 C   s   | j | j| _tj  d S N)r   Z	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typeZQUITZKEYDOWNkeyZK_ESCAPErangeZK_0r   r   r   Ztickr	   Zset_captionZget_fps)r   r   r   indexZcamZ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   Zpygame.camerar   r,   r-   r   r   r   r   <module>   s   _
