Esta classe é usada para indicar a cor das células do ecrã (as células têm uma cor de texto e outra de fundo).
Esta classe é usada para indicar a cor das células do ecrã (as células têm uma cor de texto e outra de fundo). O sistema usado pela biblioteca C slang (base desta biblioteca C++ Slang++) é complicado pelo facto de se basear no conceito de palete. A ideia é que se deve usar um objecto cor para reservar uma posição da palete. Todas as células escritas usando este objecto cor guardarão na realidade uma referência para o respectivo objecto cor. Assim, se se alterar a cor do texto ou do fundo desse objecto cor, mudará a cor de todas as respectivas células! Note-se que, devido a limitações da biblioteca de base que está a ser usada (C slang), número de objectos cor definidos em cada momento não deverá ultrapassar os 255! Se isso acontecer as cores deixam de poder ser alteradas independentemente, com resultados muito estranhos... Note-se ainda que nem todas as cores são utilizáveis como cor de fundo em todas as consolas.O ecrã tem sempre uma cor activa (nem que seja a cor do fundo do ecrã que por omissão é de texto branco sobre fundo preto).
Pode-se mudar a cor activa de várias maneiras, por exemplo usando o operador Ecra& operator << (ObjectoCor const& objecto_cor) do seguinte modo:
Ecra::ObjectoCor cor(vermelho / * texto * /, verde / * fundo * /); ecra << cor;A partir desta instrução tudo que fôr escrito passará a ser em vermelho sobre verde até que a cor seja mudada de novo. Note-se que é recomendável que a variável cor pressista enquanto existirem no ecrã células desenhadas com recurso a essa cor.
No entanto, após uma colagem de um troço de ecrã copiado previamente a cor activa volta a ser a do fundo do ecrã.
A escolha das cores utilizadas num programa deve ter sempre como objectivo tornar tão clara quanto possível a utilização do programa. Não se deve usar todas as cores disponíveis apenas "porque estão lá". Deve-se também também ter o cuidado de escolher cores de fundo e de texto que sejam minimamente contrastantes de modo a que o utilizador perceba bem o que está no ecrã.