B
    ‚Þ1\¶  ã               @   sf   d dl mZ d dlmZ d dlmZ dZdZdd„ Z	G dd	„ d	eƒZ
e e
je
e	¡ e e
jd
¡ dS )é   )ÚImage)Úi32le)ÚPcxImageFilez0.2i±hÞ:c             C   s   t | ƒdkot| ƒtkS )Né   )ÚlenÚi32ÚMAGIC)Úprefix© r
   ú1lib/python3.7/site-packages/PIL/DcxImagePlugin.pyÚ_accept!   s    r   c               @   sP   e Zd ZdZdZdZdd„ Zedd„ ƒZedd	„ ƒZ	d
d„ Z
dd„ Zdd„ ZdS )ÚDcxImageFileZDCXz	Intel DCXFc             C   sv   | j  d¡}t|ƒtkr tdƒ‚g | _x2tdƒD ]&}t| j  d¡ƒ}|sJP | j |¡ q0W | j | _d | _	|  
d¡ d S )Nr   znot a DCX filei   é    )ÚfpÚreadr   r   ÚSyntaxErrorÚ_offsetÚrangeÚappendÚ_DcxImageFile__fpÚframeÚseek)ÚselfÚsÚiÚoffsetr
   r
   r   Ú_open.   s    zDcxImageFile._openc             C   s
   t | jƒS )N)r   r   )r   r
   r
   r   Ún_framesA   s    zDcxImageFile.n_framesc             C   s   t | jƒdkS )Nr   )r   r   )r   r
   r
   r   Úis_animatedE   s    zDcxImageFile.is_animatedc             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   I   s    
zDcxImageFile.seekc             C   s   | j S )N)r   )r   r
   r
   r   ÚtellQ   s    zDcxImageFile.tellc             C   sB   z4y| j | jkr| j  ¡  W n tk
r0   Y nX W d d | _ X d S )N)r   r   ÚcloseÚAttributeError)r   r
   r
   r   Ú
_close__fpT   s    
zDcxImageFile._close__fpN)Ú__name__Ú
__module__Ú__qualname__ÚformatZformat_descriptionZ!_close_exclusive_fp_after_loadingr   Úpropertyr   r   r   r   r"   r
   r
   r
   r   r   (   s   r   z.dcxN)Ú r   Z_binaryr   r   ZPcxImagePluginr   Ú__version__r   r   r   Zregister_openr&   Zregister_extensionr
   r
   r
   r   Ú<module>   s   6