
    @wg                     B    d dl mZ d dlmZ d dlmZ  G d de      ZeZy)    )chain)	PngWriter)	BaseImagec                   <    e Zd ZdZdZdZdZd Zd ZddZ	d	 Z
d
 Zy)
PyPNGImagez
    pyPNG image builder.
    PNG)r   Fc                 j    t         st        d      t        | j                  | j                  dd      S )NzPyPNG library not installed.T   )	greyscalebitdepth)r   ImportError
pixel_size)selfkwargss     H/var/www/horilla/myenv/lib/python3.12/site-packages/qrcode/image/pure.py	new_imagezPyPNGImage.new_image   s+    <==$//TTUVV    c                      y)z
        Not used.
        N )r   rowcols      r   drawrectzPyPNGImage.drawrect   s    r   Nc                     t        |t              rt        |d      }| j                  j	                  || j                                y )Nwb)
isinstancestropen_imgwrite	rows_iter)r   streamkinds      r   savezPyPNGImage.save   s1    fc"&$'F		 01r   c              #   h   K    j                         E d {    dg j                   j                  z  z  } j                  D ]M  }|t	        t        j                   fd|D                    z   |z   }t         j                        D ]  }|  O  j                         E d {    y 7 7 w)Nr
   c              3   @   K   | ]  }| gj                   z    y wN)box_size).0pointr   s     r   	<genexpr>z'PyPNGImage.rows_iter.<locals>.<genexpr>'   s#      (:?e)t}}4(s   )border_rows_iterr'   bordermoduleslistr   from_iterablerange)r   
border_col
module_rowr   _s   `    r   r    zPyPNGImage.rows_iter    s     ((***SDMMDKK78
,, 	J'' (CM(    4==) 		 ((*** 	+ 	+s"   B2B.BB2(B0)B20B2c              #      K   dg| j                   | j                  | j                  dz  z   z  z  }t        | j                  | j                   z        D ]  }|  y w)Nr
      )r'   widthr,   r0   )r   
border_rowr3   s      r   r+   zPyPNGImage.border_rows_iter1   sS     SDMMTZZ$++/-IJK
t{{T]]23 	A	s   AAr&   )__name__
__module____qualname____doc__r"   allowed_kindsneeds_drawrectr   r   r#   r    r+   r   r   r   r   r      s2     DMNW
2
+"r   r   N)	itertoolsr   qrcode.compat.pngr   qrcode.image.baser   r   PymagingImager   r   r   <module>rB      s"     ' '- -b r   