Autor: Tiago Cavalcante Trindade
Email: tiagotrindade111@gmail.com
Acesse: https://www.clubedohardware.com.br/forums/topic/1396899-tutorial-como-colocar-cor-no-c/
Essa biblioteca é de uso livro podendo ser modificada e redistribuída (de forma não comercial, gratuitamente), desde que seja mencionado o nome do autor da biblioteca original.
Essa versão da biblioteca que você está funcionando e foi testada no Depurador do Visual Studio, Windows Terminal e no cmd e não funciona em nenhum Linux (lançarei em breve uma versão só para ele, ou dependendo da hora que você está lendo isso, já lancei).
As principais mudanças da versão 1.1.0 para a 2.0.0 foram que a versão padrão dessa biblioteca não é compatível com o cmd (mas essa sim!), algumas cores e estilos foram tirados do namespace style e viraram defines, cout() e gett() não terminam mais com sRESET e sim comçam com DEFAULT e terminam com DEFAULT (ver defines) e agora, eles também recebem de um a seis estilos, última mudança, foi acrescentado um novo tipo de estilo: remoção, esse estilo remove um atributo de estilo (sBOLD, sDARK, sUNDERLINE ou sINVERSE) padrão ou no DEFAULT ou no estilo padrão do prompt.
style(styles)
styles deve ser substituído por de uma a seis possibilidades de cor de letra, de fundo, de estilos e de remoções combinados
Adiciona de um a seis estilos na letra
coutc("text", styles)
styles deve ser substituído por de zero a seis possibilidades de cor de letra, de fundo, de estilos e de remoções combinados
Escreve um texto com determinados estilos
Observação: O texto escrito sempre tem o atributo DEFAULT (ver defines)
Observação: O coutc() também pode escrever o retorno da função gett()desde que seja colocado o .c_str() no final (exemplo: color::coutc(color::gett(sINVERSE, "texto").c_str())
gett(texts)
texts deve ser substituído por de um a seis textos ou estilos
Retorna o texto do ansi dos estilos e o texto escrito
Observação: O texto retornado sempre tem o atributo DEFAULT (ver defines)
Observação: Diferente do coutc() o gett() retorna o texto e os estilos na ordem que eles forem escritos, não antes
color(wFOREGROUND)
wFOREGROUND deve ser substituído por uma das possibilidades de wFOREGROUND
Muda a cor de todas as letras da tela
color(wFOREGROUND, wBACKGROUND)
wBACKGROUND deve ser substituído por uma das possibilidades de wBACKGROUND
Muda a cor de todas as letras da tela e muda a cor do fundo da tela
clear()
Limpa a tela
Todas as funções estão contidas no namespace color e todos os estilos de color() (wFOREGROUND, wBACKGROUND,...) no namespace style.
Defines: (todos os defines abaixo podem ser mudados, para isso use um define com o valor real, o texto não o nome do estilo, antes da inclusão da biblioteca color.h)
nome: | expande para: | significado: |
DEFAULT | "[0m" (ver sRESET) | valor padrão dos estilos |
Possibilidades de cor da letra:
nome: | expande para: | significado: |
fBLACK | "[30m" | letra preta |
fRED | "[31m" | letra vermelha |
fGREEN | "[32m" | letra verde |
fYELLOW | "[33m" | letra amarela |
fBLUE | "[34m" | letra azul |
fMAGENTA | "[35m" | letra magenta |
fCYAN | "[36m" | letra ciano |
fWHITE | "[37m" | letra branca |
fBLACKs | "[90m" | letra cinza |
fREDs | "[91m" | letra vermelha clara |
fGREENs | "[92m" | letra verde clara |
fYELLOWs | "[93m" | letra amarela clara |
fBLUEs | "[94m" | letra azul clara |
fMAGENTA | "[95m" | letra magenta clara |
fCYANs | "[96m" | letra ciana clara |
fWHITEs | "[97m" | letra branca clara |
Definições de wFOREGROUND
nome: | expande para: | significado: |
wfBLACK | '0' | letra preta |
wfRED | '4' | letra vermelha |
wfGREEN | '2' | letra verde |
wfYELLOW | '6' | letra amarela |
wfBLUE | '1' | letra azul |
wfMAGENTA | '5' | letra magenta |
wfCYAN | '3' | letra ciano |
wfWHITE | '7' | letra branca |
wfBLACKs | '8' | letra cinza |
wfREDs | 'c' | letra vermelha clara |
wfGREENs | 'a' | letra verde clara |
wfYELLOWs | 'e' | letra amarela clara |
wfBLUEs | '9' | letra azul clara |
wfMAGENTA | 'd' | letra magenta clara |
wfCYANs | 'b' | letra ciana clara |
wfWHITEs | 'f' | letra branca clara |
Definições de cor de fundo:>
nome: | expande para: | significado: |
bBLACK | "[40m" | fundo preto |
bRED | "[41m" | fundo vermelho |
bGREEN | "[42m" | fundo verde |
bYELLOW | "[43m" | fundo amarelo |
bBLUE | "[44m" | fundo azul |
bMAGENTA | "[45m" | fundo magenta |
bCYAN | "[46m" | fundo ciano |
bWHITE | "[47m" | fundo branco |
bBLACKs | "[100m" | fundo cinza |
bREDs | "[101m" | fundo vermelho claro |
bGREENs | "[102m" | fundo verde claro |
bYELLOWs | "[103m" | fundo amarelo claro |
bBLUEs | "[104m" | fundo azul claro |
bMAGENTAs | "[105m" | fundo magenta claro |
bCYANs | "[106m" | fundo ciano claro |
bWHITEs | "[107m" | fundo branco claro |
Definições de wBACKGROUND:
nome: | expande para: | significado: |
wbBLACK | '0' | fundo preto |
wbRED | '4' | fundo vermelho |
wbGREEN | '2' | fundo verde |
wbYELLOW | '6' | fundo amarelo |
wbBLUE | '1' | fundo azul |
wbMAGENTA | '5' | fundo magenta |
wbCYAN | '3' | fundo ciano |
wbWHITE | '7' | fundo branco |
wbBLACKs | '8' | fundo cinza |
wbREDs | 'c' | fundo vermelho claro |
wbGREENs | 'a' | fundo verde claro |
wbYELLOWs | 'e' | fundo amarelo claro |
wbBLUEs | '9' | fundo azul claro |
wbMAGENTAs | 'd' | fundo magenta claro |
wbCYANs | 'b' | fundo ciano claro |
wbWHITEs | 'f' | fundo branco claro |
Possibilidades de estilo:
nome: | expande para: | significado: |
sRESET | '[0m' | estilo de letra padrão |
sBOLD | '[1m' | cor da letra fica mais clara (negrito) |
sDARK | '[2m' | cor da letra fica mais escura |
sUNDERLINE | '[4m' | sublinhado |
sINVERSE | '[7m' | inverte a cor do fundo com a cor da letra |
Possibilidades de remoções:
nome: | expande para: | significado: |
rBOLDDARK | '[22m' | remove os atributos de estilo sBOLD e sDARK |
rUNDERLINE | '[24m' | remove o sublinhado |
rINVERSE | '[27m' | remove a inversão de cores |
rAll | '[22m[24m[27m' | remove todos os atributos de estilo (sBOLD, sBARK, sUNDERLINE e sINVERSE) |