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;
|
1.2.6 escrito por Dimitri van Heesch,
© 1997-2001