U
    ;g                     @   s:   d dl mZ d dlZd dlZG dd dejjjZeZ	dS )    )chainNc                   @   sF   e Zd ZdZdZdZdZdd Zdd Zdd
dZ	dd Z
dd Zd	S )
PyPNGImagez
    pyPNG image builder.
    PNG)r   Fc                 K   s   t j| j| jdddS )NT   )Z	greyscaleZbitdepth)pngWriterZ
pixel_size)selfkwargs r
   5/tmp/pip-unpacked-wheel-ij2mbwps/qrcode/image/pure.py	new_image   s    zPyPNGImage.new_imagec                 C   s   dS )z
        Not used.
        Nr
   )r   rowcolr
   r
   r   drawrect   s    zPyPNGImage.drawrectNc                 C   s*   t |trt|d}| j||   d S )Nwb)
isinstancestropenZ_imgwrite	rows_iter)r   streamkindr
   r
   r   save   s    

zPyPNGImage.savec                 #   sx      E d H  dg j j  } jD ]>}|tt fdd|D  | }t jD ]
}|V  qXq&   E d H  d S )Nr   c                 3   s   | ]}| g j  V  qd S )N)box_size).0pointr   r
   r   	<genexpr>%   s    z'PyPNGImage.rows_iter.<locals>.<genexpr>)border_rows_iterr   bordermoduleslistr   from_iterablerange)r   Z
border_colZ
module_rowr   _r
   r   r   r      s     
	
zPyPNGImage.rows_iterc                 c   s<   dg| j | j| jd    }t| j| j  D ]
}|V  q,d S )Nr      )r   widthr   r#   )r   Z
border_rowr$   r
   r
   r   r   /   s    zPyPNGImage.border_rows_iter)N)__name__
__module____qualname____doc__r   Zallowed_kindsZneeds_drawrectr   r   r   r   r   r
   r
   r
   r   r      s   
r   )
	itertoolsr   r   Zqrcode.image.baseZqrcodeimagebaseZ	BaseImager   ZPymagingImager
   r
   r
   r   <module>   s   .