o
    ë6Wjí  ã                   @  sf   d dl mZ ddlmZmZ ddlmZ dd	d
„ZG dd„ dejƒZ	e 
e	je	e¡ e e	jd¡ dS )é    )Úannotationsé   )ÚImageÚ	ImageFile)Úi32beÚprefixÚbytesÚreturnÚboolc                 C  s(   t | ƒdkot| dƒdkot| dƒdv S )Né   r   é   é   ©r   é   )ÚlenÚi32)r   © r   úa/home/esfera/Documents/content_generation/venv/lib/python3.10/site-packages/PIL/GbrImagePlugin.pyÚ_accept    s   (r   c                   @  s(   e Zd ZdZdZddd„Zddd	„Zd
S )ÚGbrImageFileÚGBRzGIMP brush filer	   ÚNonec           	      C  sj  | j d usJ ‚t| j  d¡ƒ}|dk rd}t|ƒ‚t| j  d¡ƒ}|dvr.d|› �}t|ƒ‚t| j  d¡ƒ}t| j  d¡ƒ}t| j  d¡ƒ}|dksN|dkrTd}t|ƒ‚|dvrad|› �}t|ƒ‚|d	krj|d }n|d
 }| j  d¡}|dkr~d}t|ƒ‚t| j  d¡ƒ| jd< | j  |¡d d… | jd< |d	kržd| _nd| _||f| _t | j	¡ || | | _
d S )Nr   r   znot a GIMP brushr   z Unsupported GIMP brush version: r   )r   r   z$Unsupported GIMP brush color depth: r   é   s   GIMPz"not a GIMP brush, bad magic numberÚspacingéÿÿÿÿÚcommentÚLÚRGBA)Úfpr   ÚreadÚSyntaxErrorÚinfoÚ_modeÚ_sizer   Ú_decompression_bomb_checkÚsizeÚ
_data_size)	ÚselfÚheader_sizeÚmsgÚversionÚwidthÚheightÚcolor_depthÚcomment_lengthÚmagic_numberr   r   r   Ú_open,   sB   



zGbrImageFile._openúImage.core.PixelAccess | Nonec                 C  sL   | j d u r | jd usJ ‚tj | j| j¡| _|  | j 	| j
¡¡ tj | ¡S )N)Ú_imr   r   ÚcoreÚnewÚmoder%   ÚimÚ	frombytesr   r&   Úload)r'   r   r   r   r8   Z   s
   
zGbrImageFile.loadN)r	   r   )r	   r1   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr0   r8   r   r   r   r   r   (   s
    
.r   z.gbrN)r   r   r	   r
   )Ú
__future__r   Ú r   r   Ú_binaryr   r   r   r   Úregister_openr<   Úregister_extensionr   r   r   r   Ú<module>   s   
>