
    
g                     P    d dl Z d dlmZ erd dlmZ  G d de j                  ZdS )    N)TYPE_CHECKING)	BaseImagec                   F    e Zd ZdZdZd Zd
dZej        dd	            Z	dS )QRModuleDrawera~  
    QRModuleDrawer exists to draw the modules of the QR Code onto images.

    For this, technically all that is necessary is a ``drawrect(self, box,
    is_active)`` function which takes in the box in which it is to draw,
    whether or not the box is "active" (a module exists there). If
    ``needs_neighbors`` is set to True, then the method should also accept a
    ``neighbors`` kwarg (the neighboring pixels).

    It is frequently necessary to also implement an "initialize" function to
    set up values that only the containing Image class knows about.

    For examples of what these look like, see doc/module_drawers.png
    Fc                     d S N )selfkwargss     X/var/www/api/venv/lib/python3.11/site-packages/qrcode/image/styles/moduledrawers/base.py__init__zQRModuleDrawer.__init__   s        imgr   returnNc                     || _         d S r   )r   )r
   r   s     r   
initializezQRModuleDrawer.initialize   s    r   c                     d S r   r	   )r
   box	is_actives      r   drawrectzQRModuleDrawer.drawrect    s    03r   )r   r   r   N)r   N)
__name__
__module____qualname____doc__needs_neighborsr   r   abcabstractmethodr   r	   r   r   r   r      s`          O      	333 333r   r   )r   typingr   qrcode.image.baser   ABCr   r	   r   r   <module>r!      sp    



             ,++++++4 4 4 4 4SW 4 4 4 4 4r   