Componentes | |
class | Slang::Caixa |
Representar caixas no ecrã. Mais... | |
class | Slang::Dimensao |
Representa uma dimensão no ecrã. Mais... | |
class | Slang::Ecra |
Esta classe é um solitão: a sua única instância representa o ecrã. Mais... | |
class | Slang::Ecra::ObjectoCor |
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). Mais... | |
class | Slang::Posicao |
Representa a posição de uma célula do ecrã. Mais... | |
class | Slang::Ecra::Troco |
Esta classe serve para representar um troço de ecrã. Mais... | |
Operadores associados à classe Posicao | |
Posicao | operator+ (Posicao a, Posicao const &b) |
Soma de duas posições (o segundo operando é interpretado como um vector). Mais... | |
Posicao | operator- (Posicao a, Posicao const &b) |
Diferença de duas posições (o resultado pode ser interpretado como um vector). Mais... | |
Posicao | operator+ (Posicao a, Dimensao const &b) |
Soma de uma posição com uma dimensão. Mais... | |
Posicao | operator- (Posicao a, Dimensao const &b) |
Subtracção de uma dimensão a uma posição. Mais... | |
Posicao | operator- (Posicao const &b) |
Simétrico de uma posição. Mais... | |
bool | operator== (Posicao const &a, Posicao const &b) |
Comparação entre duas posições. Mais... | |
Operadores associados à classe Dimensao | |
Dimensao | operator+ (Dimensao a, Dimensao const &b) |
Soma de duas dimensões. Mais... | |
Dimensao | operator- (Dimensao a, Dimensao const &b) |
Subtracção de duas dimensões. Mais... | |
bool | operator== (Dimensao const &a, Dimensao const &b) |
Comparação entre duas dimensões. Mais... | |
Operadores associados à classe Caixa | |
Caixa | operator+ (Caixa a, Posicao const &c) |
Soma de caixa posição: devolve caixa deslocada. Mais... | |
Caixa | operator+ (Posicao const &c, Caixa a) |
Soma de caixa com posição: devolve caixa deslocada. Mais... | |
Caixa | operator+ (Caixa a, Caixa const &b) |
"Soma" de duas caixas: devolve caixa envolvente das duas caixas. Mais... | |
Caixa | operator * (Caixa a, Caixa const &b) |
"Produto" de duas caixas: devolve intersecção das duas caixas. Mais... | |
Operadores associados ao tipo enumerado Cor | |
std::ostream& | operator<< (std::ostream &saida, Cor cor) |
Operador de inserção de cores num canal. Mais... | |
std::istream& | operator>> (std::istream &entrada, Cor &cor) |
Operador de extracção de cores de um canal. Mais... | |
Manipuladores do ecrã | |
Posicao | cursor (int linha, int coluna) |
Manipulador usado para colocar o cursor numa dada posição. Mais... | |
Caixa | caixa (int linha, int coluna, int linhas, int colunas) |
Manipulador usado para desenhar uma caixa com caracteres especiais numa dada posição. Mais... | |
Ecra::Linha const | linha_horizontal (true) |
Manipulador usado para desenhar uma linha horizontal. Mais... | |
Ecra::Linha const | linha_vertical (false) |
Manipulador usado para desenhar uma linha vertical. Mais... | |
Ecra::Fundo const | fundo |
Manipulador usado para indicar que as próximas escritas devem ser realizadas usando a cor do fundo do ecrã. Mais... | |
Ecra::Parado const | parado |
Manipulador usado para manter o cursor na posição corrente depois da próxima operação de escrita no ecrã. Mais... | |
Ecra::Largura const | largura |
Manipulador usado para indicar o número de caracteres a escrever na próxima operação de escrita de tipos usuais (char, int, std::string). Mais... | |
Ecra::Refresca const | refresca |
Manipulador usado para refrescar o ecrã. Mais... | |
Ecra::RefrescaTudo const | refresca_tudo |
Manipulador usado para fazer o refrescamento total do ecrã. Mais... | |
Ecra::Apaga const | apaga |
Manipulador usado para apagar o ecrã (ou seja, para o pintar com a cor do fundo). Mais... | |
Ecra::ApagaFimDaLinha const | apaga_fim_da_linha |
Manipulador usado para apagar até ao fim da linha do cursor (ou seja, para o pintar com a cor do fundo). Mais... | |
Ecra::ApagaFimDoEcra const | apaga_fim_do_ecra |
Manipulador usado para apagar desde a posição do cursor até ao fim do ecrã (ou seja, para o pintar com a cor do fundo). Mais... | |
Ecra::Campainha const | campainha |
Manipulador usado para fazer soar a campainha. Mais... | |
Constantes associadas à classe Caixa | |
Caixa const | caixa_vazia |
Constante representando uma caixa vazia. Mais... | |
Caixa const | caixa_universal |
Constante representando a caixa universal (enche todo o espaço). Mais... | |
Variáveis | |
int const | numero_de_cores |
Constante que guarda o número total de cores. Mais... | |
Ecra | ecra |
Uma variável global representando o ecrã. Mais... | |
string const | nomes_das_cores [numero_de_cores] |
Constante global com os nomes das cores. Mais... |
Contém ferramentas para escrever, ler e manipular o ecrã.
|
Manipulador usado para desenhar uma caixa com caracteres especiais numa dada posição. Usar como se segue: // Desenha caixa cor origem na linha 10 coluna 20 com 5 linhas e 15 // colunas: ecra << caixa(10, 20, 5, 15); // Refresca o ecrã: ecra << refresca;
Definido na linha 629 do ficheiro ecra_impl.H. 00630 { 00631 return Caixa(Posicao(linha, coluna), Dimensao(linhas, colunas)); 00632 } |
|
Manipulador usado para colocar o cursor numa dada posição. Usar como se segue: // Coloca cursor na linha 10 coluna 20 do ecrã: ecra << cursor(10, 20); // Escreve "Olá mundo!" a partir dessa posição: ecra << "Olá mundo"; // Refresca o ecrã: ecra << refresca;
Definido na linha 620 do ficheiro ecra_impl.H. 00620 { 00621 return Slang::Posicao(linha, coluna); 00622 } |
|
Manipulador usado para desenhar uma linha horizontal. Usar como se segue: // Coloca cursor na linha 10 e na coluna 20: ecra << cursor(10, 20); // Desenha linha horizontal com largura 20: ecra << linha_horizontal(20) << refresca; |
|
Manipulador usado para desenhar uma linha vertical. Usar como se segue: // Coloca cursor na linha 10 e na coluna 20: ecra << cursor(10, 20); // Desenha linha vertical com altura 5: ecra << linha_vertical(5) << refresca; |
|
"Produto" de duas caixas: devolve intersecção das duas caixas.
Definido na linha 287 do ficheiro ecra_impl.H. 00287 { 00288 return a *= b; 00289 } |
|
"Soma" de duas caixas: devolve caixa envolvente das duas caixas.
Definido na linha 283 do ficheiro ecra_impl.H. 00283 { 00284 return a += b; 00285 } |
|
Soma de caixa com posição: devolve caixa deslocada.
Definido na linha 278 do ficheiro ecra_impl.H. 00279 { 00280 return caixa += c; 00281 } |
|
Soma de caixa posição: devolve caixa deslocada.
Definido na linha 273 do ficheiro ecra_impl.H. 00274 { 00275 return caixa += c; 00276 } |
|
Soma de duas dimensões.
Definido na linha 147 do ficheiro ecra_impl.H. 00147 { 00148 return a += b; 00149 } |
|
Soma de uma posição com uma dimensão.
Definido na linha 79 do ficheiro ecra_impl.H. 00079 { 00080 return a += b; 00081 } |
|
Soma de duas posições (o segundo operando é interpretado como um vector).
Definido na linha 69 do ficheiro ecra_impl.H. 00069 { 00070 return a += b; 00071 } |
|
Subtracção de duas dimensões.
Definido na linha 151 do ficheiro ecra_impl.H. 00151 { 00152 return a -= b; 00153 } |
|
Simétrico de uma posição.
Definido na linha 89 do ficheiro ecra_impl.H. 00089 { 00090 return Posicao(-b.linha(), -b.coluna()); 00091 } |
|
Subtracção de uma dimensão a uma posição.
Definido na linha 84 do ficheiro ecra_impl.H. 00084 { 00085 return a -= b; 00086 } |
|
Diferença de duas posições (o resultado pode ser interpretado como um vector).
Definido na linha 74 do ficheiro ecra_impl.H. 00074 { 00075 return a -= b; 00076 } |
|
Operador de inserção de cores num canal.
|
|
Comparação entre duas dimensões.
Definido na linha 156 do ficheiro ecra_impl.H. 00156 { 00157 return a.linhas() == b.linhas() && a.colunas() == b.colunas(); 00158 } |
|
Comparação entre duas posições.
Definido na linha 94 do ficheiro ecra_impl.H. 00094 { 00095 return a.linha() == b.linha() && a.coluna() == b.coluna(); 00096 } |
|
Operador de extracção de cores de um canal.
|
|
Manipulador usado para apagar o ecrã (ou seja, para o pintar com a cor do fundo). Usar como se segue: ecra << apaga; // Refresca o ecrã: ecra << refresca;
|
|
Manipulador usado para apagar até ao fim da linha do cursor (ou seja, para o pintar com a cor do fundo). Usar como se segue: // Apaga linha 10 a partir da coluna 20: ecra cursor(10, 20) << apaga_fim_da_linha; // Refresca o ecrã: ecra << refresca;
|
|
Manipulador usado para apagar desde a posição do cursor até ao fim do ecrã (ou seja, para o pintar com a cor do fundo). Usar como se segue: // Apaga ecrã a partir da coluna 20 da linha 10: ecra cursor(10, 20) << apaga_fim_do_ecra; // Refresca o ecrã: ecra << refresca;
|
|
Valor inicial: Caixa(Posicao(-10000, -10000), Dimensao(10000, 10000))
|
|
Constante representando uma caixa vazia.
|
|
Manipulador usado para fazer soar a campainha. Usar como se segue: ecra << campainha;
|
|
Uma variável global representando o ecrã. A ideia é que substitua a variável global cout usada normalmente para escrever no ecrã. |
|
Manipulador usado para indicar que as próximas escritas devem ser realizadas usando a cor do fundo do ecrã. Usar como se segue: // Coloca cursor no canto superior esquerdo do ecrã: ecra << cursor(0, 0); // Define objecto cor para a próxima escrita: Ecra::ObjectoCor cor(amarelo, vermelho); // Escreve "Olá mundo! " usando a cor indicada: ecra << oor << "Olá mundo! "; // Escreve "Olá mundo!" mas usando a cor do fundo: ecra << fundo << "Olá mundo!"; // Refresca o ecrã: ecra << refresca; |
|
Manipulador usado para indicar o número de caracteres a escrever na próxima operação de escrita de tipos usuais (char, int, std::string). Usar como se segue: // Coloca cursor no canto superior esquerdo do ecrã: ecra << cursor(0, 0); // Define objecto cor para a próxima escrita: Ecra::ObjectoCor cor(amarelo, vermelho); // Escreve "Olá mundo! " usando a cor indicada e centrados em 30 caracteres: ecra << oor << ao_centro << largura(30) << "Olá mundo!"; |
|
Constante global com os nomes das cores. Indexável com os valores do tipo enumerado Cor. |
|
Constante que guarda o número total de cores.
|
|
Manipulador usado para manter o cursor na posição corrente depois da próxima operação de escrita no ecrã. Usar como se segue: // Coloca cursor no canto superior esquerdo do ecrã: ecra << cursor(0, 0); // Escreve "Olá mundo!" mantendo a posição do cursor no topo superior // esquerdo do ecrã: ecra << parado << "Olá mundo"; // Refresca o ecrã: ecra << refresca; |
|
Manipulador usado para refrescar o ecrã. Usado como se segue: // Coloca cursor no canto superior esquerdo do ecrã: ecra << cursor(0, 0); // Escreve "Olá mundo!" a partir dessa posição: ecra << "Olá mundo"; // Refresca o ecrã: ecra << refresca;
|
|
Manipulador usado para fazer o refrescamento total do ecrã. Usado como se segue: ecra << refresca_tudo;
|