
    g                          S SK Jr  SSKJr   " S S\5      r " S S\5      r " S	 S
\5      rS r	g! \ a    S r N6f = f)    )get_osfhandlec                     [        S5      e)NzThis isn't windows!)OSError)_s    I/home/matz/Project1/venv/lib/python3.13/site-packages/colorama/winterm.pyr   r      s    +,,       )win32c                   4    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rg)WinColor   r   r	                      N)__name__
__module____qualname____firstlineno__BLACKBLUEGREENCYANREDMAGENTAYELLOWGREY__static_attributes__r   r   r   r   r      s*    EDEDCGFDr   r   c                        \ rS rSrSrSrSrSrg)WinStyle   r         r   N)r   r   r   r   NORMALBRIGHTBRIGHT_BACKGROUNDr!   r   r   r   r#   r#      s    FFr   r#   c                       \ rS rSrS rS rS rSS jrSS jrSS jr	SS	 jr
SS
 jrS rSS jrSS jrSS jrSS jrS rSrg)WinTerm   c                    [         R                  " [         R                  5      R                  U l        U R                  U R                  5        U R                  U l        U R                  U l	        U R                  U l        SU l        g )Nr   )r
   GetConsoleScreenBufferInfoSTDOUTwAttributes_default	set_attrs_fore_default_fore_back_default_back_style_default_style_lightselfs    r   __init__WinTerm.__init__   s[    88FRRt}}%!ZZ!ZZ"kk
 r   c                 n    U R                   U R                  S-  -   U R                  U R                  -  -   $ )N   )r3   r5   r7   r9   r:   s    r   	get_attrsWinTerm.get_attrs*   s+    zzDJJO+t{{T[[/HIIr   c                     US-  U l         US-	  S-  U l        U[        R                  [        R                  -  -  U l        g )Nr   r   )r3   r5   r#   r(   r)   r7   )r;   values     r   r2   WinTerm.set_attrs-   s8    QY
qjA%
x1K1KKLr   Nc                 z    U R                  U R                  5        U R                  U R                  S9  SU l        g )N)attrsr   )r2   r1   set_consoler9   )r;   	on_stderrs     r   	reset_allWinTerm.reset_all2   s.    t}}%t}}-r   c                     Uc  U R                   nXl        U(       a$  U =R                  [        R                  -  sl        O$U =R                  [        R                  ) -  sl        U R                  US9  g N)rH   )r4   r3   r9   r#   r(   rG   )r;   forelightrH   s       r   rM   WinTerm.fore7   sR    <%%D
KK8??*KKKHOO++K9-r   c                     Uc  U R                   nXl        U(       a$  U =R                  [        R                  -  sl        O$U =R                  [        R                  ) -  sl        U R                  US9  g rL   )r6   r5   r9   r#   r)   rG   )r;   backrN   rH   s       r   rQ   WinTerm.backB   sV    <%%D
KK8555KKKH6666K9-r   c                 L    Uc  U R                   nXl        U R                  US9  g rL   )r8   r7   rG   )r;   stylerH   s      r   rT   WinTerm.styleM   s(    =''E9-r   c                     Uc  U R                  5       n[        R                  nU(       a  [        R                  n[        R                  " X15        g N)r@   r
   r/   STDERRSetConsoleTextAttribute)r;   rF   rH   handles       r   rG   WinTerm.set_consoleS   s6    =NN$E\\F%%f4r   c                     [         R                  " U5      R                  nU=R                  S-  sl        U=R                  S-  sl        U$ )Nr	   )r
   r.   dwCursorPositionXY)r;   rZ   positions      r   get_positionWinTerm.get_position[   s9    33F;LL 	

a


a
r   c                     Uc  g [         R                  nU(       a  [         R                  n[         R                  " X15        g rW   )r
   r/   rX   SetConsoleCursorPosition)r;   r`   rH   rZ   s       r   set_cursor_positionWinTerm.set_cursor_positionc   s0     \\F&&v8r   c                     [         R                  nU(       a  [         R                  nU R                  U5      nUR                  U-   UR
                  U-   4n[         R                  " XFSS9  g )NF)adjust)r
   r/   rX   ra   r_   r^   rd   )r;   xyrH   rZ   r`   adjusted_positions          r   cursor_adjustWinTerm.cursor_adjustm   sR    \\F$$V,%ZZ!^XZZ!^<&&vOr   c                    [         R                  nU(       a  [         R                  n[         R                  " U5      nUR                  R
                  UR                  R                  -  nUR                  R
                  UR                  R                  -  UR                  R
                  -   nUS:X  a  UR                  nXV-
  nOAUS:X  a  [         R                  " SS5      nUnO!US:X  a  [         R                  " SS5      nUnOg [         R                  " USX5        [         R                  " X0R                  5       X5        US:X  a  [         R                  " US5        g g )Nr   r	   r    )r	   r	   )r
   r/   rX   r.   dwSizer^   r_   r]   COORDFillConsoleOutputCharacterFillConsoleOutputAttributer@   rd   )	r;   moderH   rZ   csbicells_in_screencells_before_cursor
from_coordcells_to_erases	            r   erase_screenWinTerm.erase_screenu   s    \\F//7++--$++--7"kkmmd.C.C.E.EEH]H]H_H__19..J,BNQYQ*J0NQYQ*J,N ((nQ((1A>^19**66: r   c                    [         R                  nU(       a  [         R                  n[         R                  " U5      nUS:X  a:  UR                  nUR
                  R                  UR                  R                  -
  nOUS:X  aB  [         R                  " SUR                  R                  5      nUR                  R                  nOIUS:X  aB  [         R                  " SUR                  R                  5      nUR
                  R                  nOg [         R                  " USXe5        [         R                  " X0R                  5       Xe5        g )Nr   r	   r   ro   )r
   r/   rX   r.   r]   rp   r^   rq   r_   rr   rs   r@   )r;   rt   rH   rZ   ru   rx   ry   s          r   
erase_lineWinTerm.erase_line   s     \\F//719..J![[]]T-B-B-D-DDNQYQ(=(=(?(?@J!2244NQYQ(=(=(?(?@J![[]]N ((nQ((1A>^r   c                 0    [         R                  " U5        g rW   )r
   SetConsoleTitle)r;   titles     r   	set_titleWinTerm.set_title   s    e$r   )r5   r1   r6   r4   r8   r3   r9   r7   rW   )NFF)NF)F)r   F)r   r   r   r   r<   r@   r2   rI   rM   rQ   rT   rG   ra   re   rl   rz   r}   r   r!   r   r   r   r+   r+      sM    
JM

	.	..59P;@_2%r   r+   c                 z   [         R                  b  [         R                  " 5       (       d  g [        U 5      n[         R                  " U5      n[         R
                  " UU[         R                  -  5        [         R                  " U5      nU[         R                  -  (       a  gg ! [        [        4 a     gf = f)NFT)	r
   windllwinapi_testr   GetConsoleModeSetConsoleMode"ENABLE_VIRTUAL_TERMINAL_PROCESSINGr   	TypeError)fdrZ   rt   s      r   enable_vt_processingr      s    ||5#4#4#6#6r"##F+5;;;	

 ##F+%::: ; Y s   A7B' 'B:9B:N)
msvcrtr   ImportError r
   objectr   r#   r+   r   r   r   r   <module>r      sU   -$ v v 
S%f S%l]  ---s   3 	??