U
    EvfÉ  ã                   @  sn   d dl mZ ddlmZ ddlmZ ddlmZ dZ	dd„ Z
G d	d
„ d
eƒZe ejee
¡ e ejd¡ dS )é    )Úannotationsé   )ÚImage)Úi32le)ÚPcxImageFilei±hÞ:c                 C  s   t | ƒdkot| ƒtkS )Né   )ÚlenÚi32ÚMAGIC)Úprefix© r   ú6/tmp/pip-unpacked-wheel-ciywl2yd/PIL/DcxImagePlugin.pyÚ_accept    s    r   c                   @  s0   e Zd ZdZdZdZdd„ Zdd„ Zdd	„ Zd
S )ÚDcxImageFileZDCXz	Intel DCXFc                 C  sŒ   | j  d¡}t|ƒs d}t|ƒ‚g | _tdƒD ](}t| j  d¡ƒ}|sJ qX| j |¡ q.| j | _d | _	t
| jƒ| _| jdk| _|  d¡ d S )Nr   znot a DCX filei   r   r   )ÚfpÚreadr   ÚSyntaxErrorÚ_offsetÚranger	   ÚappendÚ_fpÚframer   Zn_framesZis_animatedÚseek)ÚselfÚsÚmsgÚiÚoffsetr   r   r   Ú_open-   s    zDcxImageFile._openc                 C  s<   |   |¡sd S || _| j| _| j | j| ¡ t | ¡ d S ©N)Z_seek_checkr   r   r   r   r   r   r   )r   r   r   r   r   r   B   s    
zDcxImageFile.seekc                 C  s   | j S r   )r   )r   r   r   r   ÚtellJ   s    zDcxImageFile.tellN)	Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionZ!_close_exclusive_fp_after_loadingr   r   r    r   r   r   r   r   (   s   r   z.dcxN)Ú
__future__r   Ú r   Ú_binaryr   r	   ZPcxImagePluginr   r
   r   r   Zregister_openr$   Zregister_extensionr   r   r   r   Ú<module>   s   &