Re/@s]dZdZddlZddlmZy#eejZddlmZWn*eefk rwdZddZ YnXddlm Z m Z m Z m Z mZmZmZGd d d e ZejjZejge_eje_ejjZejeege_eje_ejj Zejejge_eje_ejjZejej ge_eje_ejj!Z"eje ejej eejge"_eje"_ejj#Z$ejejejej eejge$_eje$_ieee6eee6Z%ed d Zd dZ ddZddZ&ddZ#dS) N) LibraryLoader)wintypescGsdS)N)_rr5/tmp/pip-ztkk0jow-build/pip/_vendor/colorama/win32.pysr )byref Structurec_charc_shortc_uint32c_ushortPOINTERc@sdeZdZdZdejfdejfdejfdejfdejfgZddZ d S) CONSOLE_SCREEN_BUFFER_INFOzstruct in wincon.h.dwSizedwCursorPosition wAttributessrWindowdwMaximumWindowSizec Cshd|jj|jj|jj|jj|j|jj|jj|jj|jj |j j|j jf S)Nz"(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)) rYXrrrTopLeftZBottomZRightr)selfrrr__str__s $z"CONSOLE_SCREEN_BUFFER_INFO.__str__N) __name__ __module__ __qualname____doc__r_COORDWORDZ SMALL_RECT_fields_rrrrrrs     rcCs,t|}t}t|t|}|S)N)handlesr_GetConsoleScreenBufferInfor ) stream_idhandlecsbisuccessrrrGetConsoleScreenBufferInfo[s   r*cCst|}t||S)N)r$_SetConsoleTextAttribute)r&attrsr'rrrSetConsoleTextAttributebs r-cCstj|}|jdks-|jdkr1dStj|jd|jd}ttj}|j|j7_|j|j7_t |}t ||S)Nr) rr!rrr*STDOUTrrrr$_SetConsoleCursorPosition)r&positionadjusted_positionsrr'rrrSetConsoleCursorPositionfs  r4cCsYt|}t|}tj|}tjd}t||||t|}|jS)Nr)r$r rDWORD_FillConsoleOutputCharacterAr value)r&charlengthstartr' num_writtenr)rrrFillConsoleOutputCharacterws  r<cCsSt|}tj|}tj|}tjd}t||||t|S)za FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )r)r$rr"r5_FillConsoleOutputAttributer )r&attrr9r:r' attributer;rrrFillConsoleOutputAttributes  r@ii)'r/STDERRctypesrWinDLLwindllrAttributeError ImportErrorr-r r r r rrrrkernel32Z GetStdHandleZ _GetStdHandler5argtypesHANDLErestyper*r%ZBOOLr+r"r4r0r!ZFillConsoleOutputCharacterAr6r@r=r$r<rrrrs` 4