
    e                         d Z ddlZddlmZ ddlmZmZmZ ej                  j                  d      Z
e e       ZndZ
ddZi Zi Z eg d	      D ]  \  ZZe e       e<   ed
z    e       dez   <   edz    e       dez   <   ddez   z  ee<   ddez   z  eed
z   <   ddez   z  eedz   <   edk(  rdneZ eee      ej(                  dee<    eee      ej*                  deed
z   <   d eee      ieedz   <    dZdee<   ddiee<   d Zd Zd Zy)z`
Cross-platform color text printing

Based on colorama (see pyqtgraph/util/colorama/README.txt)
    N   )windll)WinColorWinStyleWinTermwinFc                     | rt         j                          |t         j                  ||       |t         j                  ||       |t         j	                  ||       y y )N)winterm	reset_allforebackstyle)resetr   r   r   stderrs        7/usr/lib/python3/dist-packages/pyqtgraph/util/cprint.pywinsetr      sR    T6"T6"eV$     )BLACKREDGREENYELLOWBLUEMAGENTACYANWHITE   BR_(   BACK_z[%dm   z[2;%dmr   GREY)r   r   r   z[0mr   Tc                 2   t        | t              r(|j                  dd      } | dk(  }t        t        |       } n|j                  dd      }t        | d      r| j                         rt        r@|D ]:  }t        |t              r| j                  |       %t        |   }t        dd|i| < y|D ]<  }t        |t              r| j                  |       %| j                  t        |          > y|D ]$  }t        |t              s| j                  |       & y)aQ  
    Print with color. Examples::

        # colors are BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE
        cprint('stdout', RED, 'This is in red. ', RESET, 'and this is normal
')

        # Adding BR_ before the color manes it bright
        cprint('stdout', BR_GREEN, 'This is bright green.
', RESET)

        # Adding BACK_ changes background color
        cprint('stderr', BACK_BLUE, WHITE, 'This is white-on-blue.', -1)

        # Integers 0-7 for normal, 8-15 for bright, and 40-47 for background.
        # -1 to reset.
        cprint('stderr', 1, 'This is in red.', -1)

    streamstdoutr   FisattyN )
isinstancestrgetgetattrsyshasattrr&   _WINwriteWINr   ANSI)r$   argskwdserrargs        r   cprintr6   .   s    $ &#(H- f%hhx'vx V]]_ /c3'LL%s8D.#../  ,c3'LL%LLc+	,  	"C#s#S!	"r   c                      t        dg|   y)z#Shorthand for cprint('stdout', ...)r%   Nr6   r2   s    r   coutr:   ]       
8dr   c                      t        dg|   y)z#Shorthand for cprint('stderr', ...)r   Nr8   r9   s    r   cerrr=   a   r;   r   )FNNNF)__doc__r,   colorama.win32r   colorama.wintermr   r   r   platform
startswithr.   r
   r   r1   r0   	enumerateicolorglobalsr+   NORMALBRIGHTRESETr6   r:   r=   r'   r   r   <module>rJ      sd  
  " 9 9
||u%	iGD% 
`a 
3GAeGIe 1uGIeem!"RGIgoBqD!DG1%D1Ir!t$D2Jw&FEEh.ICF%08??KC!H512C"I
3 	UoE
-"^r   