Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/FliImagePlugin.cpython-35.pyc



�ʴW��@s�ddlmZmZmZmZdZejZejZej	Z
ejZdd�ZGdd�dej�Z
eje
je
e�eje
jd�eje
jd�d	S)
�)�Image�	ImageFile�ImagePalette�_binaryz0.2cCs,t|�dko+t|dd��dkS)N������)rr	)�len�i16)�prefix�r
�E/opt/alt/python35/lib64/python3.5/site-packages/PIL/FliImagePlugin.py�_accept src@s|eZdZdZdZdd�Zdd�Zedd��Zed	d
��Z	dd�Z
d
d�Zdd�ZdS)�FliImageFileZFLIzAutodesk FLI/FLC AnimationcCsc|jjd�}t|dd��}|d koct|dd��d!koc|d
d�dksrtd
��d|_t|dd��t|dd��f|_t|dd
��}|dkr�|dd}||jd<dd�td�D�}|jjd�}d|_	t|dd��dkr_|j	t|�|_	|jjd�}t|dd��dkr�|jjd�}t|dd��dkr�|j
|d�n,t|dd��dkr�|j
|d�dd�|D�}tjddj
|��|_d"|_|j|_|jj�|_d|_d|_|jd�dS)#N�rr������r���sznot an FLI/FLC file�P��
�i��F�durationcSsg|]}|||f�qSr
r
)�.0�ar
r
r�
<listcomp>Bs	z&FliImageFile._open.<locals>.<listcomp>�i�i����cSs9g|]/\}}}t|�t|�t|��qSr
)�o8)r�r�g�br
r
rr!Us	ZRGB��)rr)rr���)�fp�readr�SyntaxError�mode�size�i32�info�range�_FliImageFile__offset�_paletter�raw�join�palette�_FliImageFile__frame�_FliImageFile__fp�tell�_FliImageFile__rewind�	_n_frames�_is_animated�seek)�self�s�magicrr8r
r
r�_open-s@	/
				zFliImageFile._openc
Csd}xtt|jjd���D]�}|jjd�}|t|d�}t|d�}|dkrsd}|jj|d�}x�tdt|�d�D]g}t||�|>}t||d�|>}t||d�|>}	|||	f||<|d7}q�Wq%WdS)Nrr$r*r"r)r3rr,r-�i8r
)
r@r8Zshift�i�erA�nr&r'r(r
r
rr5`s%zFliImageFile._palettecCsy|jdkrr|j�}y"x|j|j�d�q!WWn%tk
rd|j�d|_YnX|j|�|jS)Nr*)r=r;r?�EOFError)r@�currentr
r
r�n_framesrs

zFliImageFile.n_framescCsg|jdkr`|j�}y|jd�d|_Wntk
rRd|_YnX|j|�|jS)Nr*TF)r>r;r?rH)r@rIr
r
r�is_animated~s



zFliImageFile.is_animatedcCs�||jkrdS||jkr/|jd�|j}xat|jd|d�D]E}y|j|�WqStk
r�|j|�td��YqSXqSWdS)Nrr*zno more images in FLI file)r9�_seekr3rHr?)r@�frameZ
last_frame�fr
r
rr?�s
	!

zFliImageFile.seekcCs�|dkr1d|_|jj|j�d|_||jdkrTtd|��||_|j|_|jj|j�|jjd�}|s�t�t	|�}||_
dd|j|jdfg|_|j|7_dS)	Nrr*rzcannot seek to frame %drZflir+)rr)
r9r:r?r<r4�
ValueErrorr,r-rHr1Zdecodermaxblockr0Ztile)r@rMrAZ	framesizer
r
rrL�s 				"zFliImageFile._seekcCs|jS)N)r9)r@r
r
rr;�szFliImageFile.tellN)
�__name__�
__module__�__qualname__�formatZformat_descriptionrCr5�propertyrJrKr?rLr;r
r
r
rr(s3rz.fliz.flcN)ZPILrrrr�__version__rDZi16lerZi32ler1r%rrZ
register_openrSZregister_extensionr
r
r
r�<module>s"				�