o
    OZh                     @   s   d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ da	G dd deZ
dd Zd	d
 ZG dd de
Zeaeadd Zzd dlmZ ejZW n eyV   eZY nw dd Zdd ZdddZdd Zedkrxd dlZejj  dS dS )    N)ABCabstractmethod)errorFc                   @   sb   e Zd Zedd Zedd Zedd Zedd Zed	d
 ZedddZ	edd Z
dS )AbstractCamerac                 O      dS  N )selfargskwargsr	   r	   </var/www/auris/lib/python3.10/site-packages/pygame/camera.py__init__       zAbstractCamera.__init__c                 C   r   r   r	   r
   r	   r	   r   start   r   zAbstractCamera.startc                 C   r   r   r	   r   r	   r	   r   stop   r   zAbstractCamera.stopc                 C   r   r   r	   r   r	   r	   r   get_size   r   zAbstractCamera.get_sizec                 C   r   r   r	   r   r	   r	   r   query_image    r   zAbstractCamera.query_imageNc                 C   r   r   r	   )r
   Z	dest_surfr	   r	   r   	get_image$   r   zAbstractCamera.get_imagec                 C   r   r   r	   r   r	   r	   r   get_raw(   r   zAbstractCamera.get_rawN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r	   r	   r	   r   r      s    




r   c                   C   s   t stdt )Nz pygame.camera is not initialized)_is_initr   NotImplementedErrorr	   r	   r	   r   _pre_init_placeholder-   s   r   c                  O   s
   t   d S r   )r   )___r	   r	   r   _pre_init_placeholder_varargs6   s   
r    c                   @   s0   e Zd ZeZeZeZeZeZeZ	eZ
eZeZdS )_PreInitPlaceholderCameraN)r   r   r   r    r   r   r   Zget_controlsZset_controlsr   r   r   r   r	   r	   r	   r   r!   :   s    r!   c                  G   s   t d)Nz+pygame is not built with colorspace support)RuntimeError)r   r	   r	   r   _colorspace_not_availableJ   s   r#   _camerac                 C   s   | dkrddl m} |ja|jad S | dkr$ddl m} |ja|jad S | dv r6ddl m} |ja|jad S | dkrTddl m} tj	d	t
d
d |  |ja|jad S td)N
opencv-macr   )_camera_opencvopencv)z_camera (msmf)z_camera (v4l2)r$   videocapture)_camera_vidcapturezThe VideoCapture backend is not recommended and may be removed.For Python3 and Windows 8+, there is now a native Windows backend built into pygame.   
stacklevelzunrecognized backend name)pygamer'   Zlist_cameras_darwinlist_camerasZ	CameraMacCamerar%   r*   warningswarnDeprecationWarninginit
ValueError)backendr'   r%   r*   r	   r	   r   _setup_backendW   s.   



r7   c                  C   sD  g } t jdkrLt d dd }d|v r*dttj|d d }t|dk}nt|dk}|rLzdd l	}| 
d	 W n tyK   | 
d
 Y nw dt jv rV| 
d dt jv r`| 
d d	| vri| 
d	 t jdkrs| 
d tjdd }|dkrd	| v r| d	 d	g|  } |dv rd| v r| d dg|  } | S )Nwin32r   .Server    i     OpenCVz_camera (MSMF)linuxz_camera (V4L2)darwinz
OpenCV-MacZVideoCaptureZPYGAME_CAMERAr(   )Z
vidcapturer)   )sysplatform	win32_versplitjoinfilterstrisdigitintcv2appendImportErrorosenvirongetlowerremove)Zpossible_backendsZversion_codeZminimum_satisfiedrJ   Z
camera_envr	   r	   r   get_backends}   s@   











rR   c                 C   s   dd t  D }|std| d u r|d n|  } | |vr&tjdtdd z	t|  W dad S  tyT   d|  d	}| d
v rP| dkrFdnd}|d| d7 }t|w )Nc                 S   s   g | ]}|  qS r	   )rP   ).0br	   r	   r   
<listcomp>   s    zinit.<locals>.<listcomp>z2No camera backends are supported on your platform!r   zNWe don't think this is a supported backend on this system, but we'll try it...r+   r,   z	Backend 'z$' is not supported on your platform!)r(   r&   r)   r)   Zvidcapr>   z Make sure you have 'z*' installed to be able to use this backendT)	rR   r   rP   r1   r2   Warningr7   rL   r   )r6   backendsZemsgdepr	   r	   r   r4      s,   

r4   c                   C   s   t atadad S )NF)r   r/   r!   r0   r   r	   r	   r	   r   quit   s   rY   __main__r   )rM   rB   rA   r1   abcr   r   r.   r   r   r   r   r    r!   r/   r0   r#   r%   Z
colorspacerL   r7   rR   r4   rY   r   Zpygame.examples.cameraZexamplescameramainr	   r	   r	   r   <module>   s8    !	
&
/ 	