o
    g%                  	   @   s  d Z dZdZzddlZddlmZ eejZddlmZ W n ee	fy3   dZdd Z
d	d ZY dS w dd
lmZmZmZmZ ejZG dd deZejjZejge_eje_ejjZejeege_eje_ejj
Zejejge_eje_ejjZ ejege _eje _ejj!Z"ejeejeeejge"_eje"_ejj#Z$ejejejeeejge$_eje$_ejj%Z&ej'ge&_eje&_ejj(Z)ejeejge)_eje)_ejj*Z+ejejge+_eje+_dd Z,dd Ze fddZdd Z
d"ddZdd Z-dd Z#dd Z.dd Z(d d! Z*dS )#ii       N)LibraryLoader)wintypesc                  G      d S N _r   r   U/home/www/bk.finsightngr.online/venv20/lib/python3.10/site-packages/colorama/win32.py<lambda>       r   c                  G   r   r   r   r   r   r   r
   r      r   )byref	Structurec_charPOINTERc                   @   s>   e Zd ZdZdefdefdejfdejfdefgZdd Z	d	S )
CONSOLE_SCREEN_BUFFER_INFOzstruct in wincon.h.dwSizedwCursorPositionwAttributessrWindowdwMaximumWindowSizec                 C   sH   d| j j| j j| jj| jj| j| jj| jj| jj| jj	| j
j| j
jf S )Nz"(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d))r   YXr   r   r   TopLeftZBottomZRightr   )selfr   r   r
   __str__    s   z"CONSOLE_SCREEN_BUFFER_INFO.__str__N)
__name__
__module____qualname____doc__COORDr   WORDZ
SMALL_RECT_fields_r   r   r   r   r
   r      s    r   c                 C   s   t  }t| t|}t|S r   )r   _GetConsoleScreenBufferInfor   bool)handlecsbisuccessr   r   r
   _winapi_testl   s
   r)   c                   C   s   t dd ttttfD S )Nc                 s   s    | ]}t |V  qd S r   )r)   ).0hr   r   r
   	<genexpr>s   s    zwinapi_test.<locals>.<genexpr>)any_GetStdHandleSTDOUTSTDERRr   r   r   r
   winapi_testr   s   r1   c                 C   s    t | }t }t|t|}|S r   )r.   r   r$   r   )	stream_idr&   r'   r(   r   r   r
   GetConsoleScreenBufferInfov   s   r3   c                 C   s   t | }t||S r   )r.   _SetConsoleTextAttribute)r2   attrsr&   r   r   r
   SetConsoleTextAttribute}   s   
r6   Tc                 C   sv   t | }|jdks|jdkrd S t |jd |jd }|r2ttj}| j|j7  _| j|j7  _t| }t	||S )Nr      )
r!   r   r   r3   r/   r   r   r   r.   _SetConsoleCursorPosition)r2   positionadjustadjusted_positionsrr&   r   r   r
   SetConsoleCursorPosition   s   

r=   c                 C   sB   t | }t| }t|}td}t||||t|}|jS )Nr   )r.   r   encoder   DWORD_FillConsoleOutputCharacterAr   value)r2   charlengthstartr&   num_writtenr(   r   r   r
   FillConsoleOutputCharacter   s   

rF   c                 C   s:   t | }t|}t|}td}t||||t|S )za FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )r   )r.   r   r"   r?   _FillConsoleOutputAttributer   )r2   attrrC   rD   r&   	attributerE   r   r   r
   FillConsoleOutputAttribute   s   


rJ   c                 C   s   t | S r   )_SetConsoleTitleW)titler   r   r
   SetConsoleTitle   s   rM   c                 C   s(   t  }t| t|}|st |jS r   )r   r?   _GetConsoleModer   ctypesWinErrorrA   r&   moder(   r   r   r
   GetConsoleMode   s
   rS   c                 C   s   t | |}|st d S r   )_SetConsoleModerO   rP   rQ   r   r   r
   SetConsoleMode   s   
rU   )T)/r/   r0   Z"ENABLE_VIRTUAL_TERMINAL_PROCESSINGrO   r   ZWinDLLwindllr   AttributeErrorImportErrorr6   r1   r   r   r   r   Z_COORDr!   r   kernel32ZGetStdHandler.   r?   argtypesZHANDLErestyper3   r$   ZBOOLr4   r"   r=   r8   ZFillConsoleOutputCharacterAr@   rJ   rG   ZSetConsoleTitleWrK   ZLPCWSTRrS   rN   rU   rT   r)   rF   rM   r   r   r   r
   <module>   s   



