
    he                         S SK r S SKJrJrJrJr  S SKJr  \(       a  S SKJ	r	J
r
  \\\\\   \\\4   4   4   r " S S5      r " S S\5      rg)	    N)TYPE_CHECKINGAnyOptionalUnion)QRModuleDrawer)ActiveWithNeighborsQRCodec                      \ rS rSr% SrSr\\   \S'   Sr	\\
\      \S'   SrSrSrS r\R                   S	 5       rS
\S\SS4S jrS r\R                   SS j5       rS r\R                   S\4S j5       rS rS rSS jrS
\S\4S jrSrg)	BaseImage   z!
Base QRCode image output class.
Nkindallowed_kindsFTc                     Xl         X l        X0l        U R                  U R                   S-  -   U R                  -  U l        UR	                  S5      U l        U R                  " S0 UD6U l        U R                  5         g )N   qrcode_modules )	borderwidthbox_size
pixel_sizepopmodules	new_image_imginit_new_image)selfr   r   r   argskwargss         Y/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/qrcode/image/base.py__init__BaseImage.__init__   sb    
 ::a74==Hzz"23NN,V,	    c                     g)z)
Draw a single rectangle of the QR code.
Nr   r   rowcols      r   drawrectBaseImage.drawrect!       r"   r%   r&   qrr	   c                     [        S5      e)zF
Draw a single rectangle of the QR code given the surrounding context
zBaseImage.drawrect_contextNotImplementedError)r   r%   r&   r*   s       r   drawrect_contextBaseImage.drawrect_context'   s     "">??r"   c                     [        S5      e)z$
Processes QR code after completion
zBaseImage.drawimager,   r   s    r   processBaseImage.process-   s     ""788r"   c                     g)z
Save the image file.
Nr   )r   streamr   s      r   saveBaseImage.save3   r)   r"   c                     X R                   -   U R                  -  nXR                   -   U R                  -  nX44X0R                  -   S-
  X@R                  -   S-
  44$ )zo
A helper method for pixel-based image generators that specifies the
four pixel coordinates for a single rect.
   )r   r   )r   r%   r&   xys        r   	pixel_boxBaseImage.pixel_box9   s]    
 ;;$--/;;$--/F"A$5$9:
 	
r"   returnc                     g)zD
Build the image class. Subclasses should return the class created.
Nr   r   r   s     r   r   BaseImage.new_imageE   r)   r"   c                     g Nr   r1   s    r   r   BaseImage.init_new_imageK   s    r"   c                     U R                   $ )z0
Return the image class for further processing.
)r   r@   s     r   	get_imageBaseImage.get_imageN   s     yyr"   c                    Uc  U R                   nU R                  (       + =(       d    XR                  ;   nU(       a  U" U5      nU(       d  XR                  ;   nU(       d$  [        S[        U 5      R                   SU 35      eU$ )z
Get the image type.
zCannot set z	 type to )r   r   
ValueErrortype__name__)r   r   	transformalloweds       r   
check_kindBaseImage.check_kindT   sv     <99D(((FD4F4F,FT?D"4"44{4:+>+>*?yOPPr"   c                     US:  =(       a    US:  =(       dC    US:  =(       a    U R                   U-
  S:  =(       d    U R                   U-
  S:  =(       a    US:  $ )z2
Find whether the referenced module is in an eye.
      )r   r$   s      r   is_eyeBaseImage.is_eyec   sW    
 1W q 2a0DJJ,q02

S 1$0q	
r"   )r   r   r   r   r   r   rC   )rK   
__module____qualname____firstlineno____doc__r   r   str__annotations__r   tupleneeds_contextneeds_processingneeds_drawrectr    abcabstractmethodr'   intr.   r2   r6   r<   r   r   r   rF   rN   rS   __static_attributes__r   r"   r   r   r      s     D(3-*.M8E#J'.MN 	 
@C @c @x @9 	 


 	S  

# 
C 
r"   r   c                      ^  \ rS rSr% \\   \S'   0 r\\S'   S\4S jr	S\4S jr
SrS\S	'   S\S
'   SSS.S	\\\S4   S
\\\S4   4U 4S jjjrS\\\S4   S\\   4S jrU 4S jrS\S\SS4S jrSrU =r$ )BaseImageWithDrawern   default_drawer_classdrawer_aliasesr>   c                 "    U R                  5       $ rC   rf   r1   s    r   get_default_module_drawer-BaseImageWithDrawer.get_default_module_drawerr       ((**r"   c                 "    U R                  5       $ rC   ri   r1   s    r   get_default_eye_drawer*BaseImageWithDrawer.get_default_eye_draweru   rl   r"   Tr   module_drawer
eye_drawerN)rp   rq   c                   > U R                  U5      =(       d    U R                  5       U l        U R                  U5      =(       d    U R                  5       U l        [
        TU ]  " U0 UD6  g rC   )
get_drawerrj   rp   rn   rq   superr    )r   rp   rq   r   r   	__class__s        r   r    BaseImageWithDrawer.__init__}   sY     OOM*Nd.L.L.N 	 //*5V9T9T9V$)&)r"   drawerc                 b    [        U[        5      (       d  U$ U R                  U   u  p#U" S0 UD6$ )Nr   )
isinstancerY   rg   )r   rw   
drawer_clsr   s       r   rs   BaseImageWithDrawer.get_drawer   s7     &#&&M!008
#F##r"   c                    > U R                   R                  U S9  U R                  R                  U S9  [        TU ]  5       $ )N)img)rp   
initializerq   rt   r   )r   ru   s    r   r   "BaseImageWithDrawer.init_new_image   s=    %%$%/""t",w%''r"   r%   r&   r*   r	   c                    U R                  X5      nU R                  X5      (       a  U R                  OU R                  nUR                  (       a  UR                  X5      O[        UR                  U   U   5      nUR                  XF5        g rC   )	r<   rS   rq   rp   needs_neighborsactive_with_neighborsboolr   r'   )r   r%   r&   r*   boxrw   	is_actives          r   r.   $BaseImageWithDrawer.drawrect_context   sr    nnS&$(KK$9$9t?Q?Q %% $$S.bjjoc*+ 	 	'r"   )rq   rp   )rK   rU   rV   rW   rJ   r   rZ   rg   DrawerAliasesrj   rn   r\   r   rY   r    r   rs   r   ra   r.   rb   __classcell__)ru   s   @r   rd   rd   n   s    ~..$&NM&+> ++ + M##  
 ;?7;	* ^S$67* .#t34	* * $NC56$	.	!$(	(C 	(c 	(x 	( 	(r"   rd   )r_   typingr   r   r   r   &qrcode.image.styles.moduledrawers.baser   qrcode.mainr   r	   dictrY   r[   rJ   r   r   rd   r   r"   r   <module>r      sX    
 6 6 A7 S%^ 4d38n DEEF^
 ^
B6() 6(r"   