U
    ॡc	                     @   s   d dl Z ddlmZmZ e dZdd ZG dd dejZd	d
 Ze	ej
ee eej
e eej
d eej
d dS )    N   )Image	ImageFiles   \s*#define[ \t]+.*_width[ \t]+(?P<width>[0-9]+)[\r\n]+#define[ 	]+.*_height[ 	]+(?P<height>[0-9]+)[
]+(?P<hotspot>#define[ 	]+[^_]*_x_hot[ 	]+(?P<xhot>[0-9]+)[
]+#define[ 	]+[^_]*_y_hot[ 	]+(?P<yhot>[0-9]+)[
]+)?[\000-\377]*_bits\[]c                 C   s   |   d d dkS )N   s   #define)lstrip)prefix r   6/tmp/pip-unpacked-wheel-h_ukwjmx/PIL/XbmImagePlugin.py_accept&   s    r
   c                   @   s   e Zd ZdZdZdd ZdS )XbmImageFileZXBMz
X11 Bitmapc                 C   s   t | jd}|stdt|d}t|d}|drft|dt|df| jd< d| _||f| _	d	d
| j
 | d fg| _d S )Ni   znot a XBM filewidthheighthotspotZxhotZyhot1xbmr   r   )xbm_headmatchfpreadSyntaxErrorintgroupinfomode_sizesizeendZtile)selfmZxsizeZysizer   r   r	   _open3   s    
"
zXbmImageFile._openN)__name__
__module____qualname__formatformat_descriptionr    r   r   r   r	   r   .   s   r   c                 C   s   | j dkrtd| j  d|d| jd  dd |d| jd	  dd | jd
}|r|d|d  dd |d|d	  dd |d t| |dd| j dd fg |d d S )Nr   zcannot write mode z as XBMz#define im_width r   
asciiz#define im_height r   r   z#define im_x_hot z#define im_y_hot s   static char im_bits[] = {
r   r   s   };
)	r   OSErrorwriter   encodeZencoderinfogetr   _save)Zimr   filenamer   r   r   r	   r,   F   s    

r,   z.xbmz	image/xbm)re r   r   compiler   r
   r   r,   Zregister_openr$   Zregister_saveZregister_extensionZregister_mimer   r   r   r	   <module>   s   