o
    tVg                     @   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	   A/home/ubuntu/.local/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
   	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   get_controls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*   list_cameras_darwinlist_cameras	CameraMacCamerar(   r-   warningswarnDeprecationWarninginit
ValueError)backendr*   r(   r-   r	   r	   r   _setup_backendW   s.   



r<   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-MacVideoCapturePYGAME_CAMERAr+   )
vidcapturer,   )sysplatform	win32_versplitjoinfilterstrisdigitintcv2appendImportErrorosenvirongetlowerremove)possible_backendsversion_codeminimum_satisfiedrR   
camera_envr	   r	   r   get_backends}   s@   











r^   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	   )rX   ).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,   vidcaprC   z Make sure you have 'z*' installed to be able to use this backendT)	r^   r   rX   r6   r7   Warningr<   rT   r   )r;   backendsemsgdepr	   r	   r   r9      s,   

r9   c                   C   s   t atadad S )NF)r   r3   r"   r5   r   r	   r	   r	   r   quit   s   rg   __main__r   )rU   rJ   rI   r6   abcr   r   r1   r   r   r   r   r!   r"   r3   r5   r&   r(   
colorspacerT   r<   r^   r9   rg   r   pygame.examples.cameraexamplescameramainr	   r	   r	   r   <module>   s8    !	
&
/ 	