3
Y^-
                 @   s   d dl Z ddlmZmZ dZe jdZdd ZG dd	 d	ejZd
d Z	ej
ejee ejeje	 ejejd ejejd dS )    N   )Image	ImageFilez0.6s   \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   | j  d d dkS )N   s   #define)lstrip)prefix r   4/tmp/pip-build-8app2_gc/Pillow/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| jjd}|rt|jd}t|jd}|jdr^t|jdt|jdf| jd< d| _||f| _dd
| j	 |j
 d fg| _d S )Ni   widthheighthotspotZxhotZyhot1xbmr   )r   r   )xbm_headmatchfpreadintgroupinfomode_sizesizeendZtile)selfmZxsizeZysizer   r   r	   _open5   s    
"
zXbmImageFile._openN)__name__
__module____qualname__formatformat_descriptionr   r   r   r   r	   r   0   s   r   c             C   s   | j dkrtd| j  |jd| jd  jd |jd| jd  jd | jjd}|r|jd	|d  jd |jd
|d  jd |jd tj| |dd| j dd fg |jd d S )Nr   zcannot write mode %s as XBMz#define im_width %d
r   asciiz#define im_height %d
r   r   z#define im_x_hot %d
z#define im_y_hot %d
s   static char im_bits[] = {
r   s   };
)r   r   )	r   IOErrorwriter   encodeZencoderinfogetr   _save)Zimr   filenamer   r   r   r	   r)   I   s    

r)   z.xbmz	image/xbm)re r   r   __version__compiler   r
   r   r)   Zregister_openr"   Zregister_saveZregister_extensionZregister_mimer   r   r   r	   <module>   s   
