Slang++
.
Mais...
Componentes | |
struct | Slang::Ecra::Apaga |
struct | Slang::Ecra::ApagaFimDaLinha |
struct | Slang::Ecra::ApagaFimDoEcra |
class | Slang::ApendiceComCor |
Define ferramentas relacionadas com cores para os menus que as possuirem. Mais... | |
class | Slang::Aviso |
Representa caixas de aviso, que apenas mostram uma mensagem e das quais se sai pressionando 'enter'. Mais... | |
class | Slang::Caixa |
Representar caixas no ecrã. Mais... | |
class | Slang::CaixaDeTexto |
Representa caixas de texto, que quando executadas permitem ao utilizador escrever uma cadeia de caracteres. Mais... | |
struct | Slang::Ecra::Campainha |
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::Erro |
Base de uma pequena hierarquia de classes representando excepções. Mais... | |
class | Slang::ErroAoCarregar |
Representa excepções de carregamento de objectos a partir de canais. Mais... | |
class | Slang::ErroAoGuardar |
Representa excepções ao guardar objectos usando canais. Mais... | |
struct | Slang::Ecra::Fundo |
class | Slang::Ignora |
Representa manipuladores de entrada que ignoram caracteres. Mais... | |
struct | Slang::Ecra::Largura |
struct | Slang::Ecra::Linha |
class | Slang::Menu |
Define a interface básica de todos os menus. Mais... | |
class | Slang::MenuComCor |
Define a interface básica de todos os menus com cores. Mais... | |
class | Slang::MenuCor |
Representa menus de selecção das cores básicas usáveis no ecrã. Mais... | |
class | Slang::MenuSimNao |
Esta classe serve para representar menus com apenas duas opções: sim e não. Mais... | |
class | Slang::MenuSimples |
Representa menus simples, que consistem numa sequência de itens. 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... | |
struct | Slang::Ecra::Parado |
class | Slang::Posicao |
Representa a posição de uma célula do ecrã. Mais... | |
struct | Slang::Ecra::Refresca |
struct | Slang::Ecra::RefrescaTudo |
class | Slang::Tecla |
Representa teclas premidas. Mais... | |
class | Slang::Teclado |
Esta classe é um solitão: a sua única instância representa o teclado. 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... | |
Manipuladores extra para std::istream | |
Ignora const | il |
Manipulador que ignora todos os caracteres até ao próximo fim-de-linha ('\n' ). Mais... | |
Ignora const | ill |
Manipulador que ignora todos os caracteres até ao próximo fim-de-linha ('\n' ) mas primeiro limpa possíveis condições de erro do canal. Mais... | |
Enumerações | |
enum | Cor { preto, primeira_cor = preto, cinza, vermelho, vermelho_brilhante, verde, verde_brilhante, castanho, amarelo, azul, azul_brilhante, magenta, magenta_brilhante, ciano, ciano_brilhante, cinzento_claro, branco, ultima_cor = branco } |
ecra.H Slang/ecra.H Representa as possíveis cores do texto e do fundo de cada célula do ecrã. Mais... | |
enum | Simbolo { diamante = , tijolo, ht, ff, cr, lf, grau, mais_menos, nl, vt, canto_inferior_direito, canto_superior_direito, canto_superior_esquerdo, canto_inferior_esquerdo, cruzamento, traco_topo, traco_superior, traco_horizontal, traco_inferior, traco_base, encontro_direita, encontro_esquerda, encontro_cima, encontro_baixo, traco_vertical, menor_ou_igual, maior_ou_igual, pi, diferente } |
ecra.H Slang/ecra.H Representa os caracteres especiais úteis para desenhar caixas e outros símbolos especiais. Mais... | |
enum | Justificacao { ao_centro, a_esquerda, a_direita } |
ecra.H Slang/ecra.H Representa os vários tipos de justificação possíveis ao escrever texto no ecrã. Mais... | |
Funções | |
Caixa | caixa (Posicao const &origem=Posicao(), Dimensao const &dimensao=Dimensao()) |
Posicao | cursor (Posicao const &posicao) |
std::istream& | operator>> (std::istream &entrada, Ignora const &ignora) |
Operador de extracção para os manipuladores de ignorar caracteres. 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... | |
Teclado | teclado |
Uma variável global representando o teclado. Mais... |
Slang++
.
A biblioteca Slang++
permite a utilização de algumas funções que actuam sobre o teclado e o ecrã e a criação de menus simples em modo texto. A biblioteca consiste de um pacote Slang (representado pelo espaço nominativo Slang) dividido em quatro módulos fisicos teclado, ecra, menu e util, cada um com o correspondente ficheiro de interface (Slang/teclado.H, Slang/ecra.H, Slang/menu.H e Slang/util.H).
Estão definidas nesta biblioteca as variáveis globais teclado (do tipo Slang::Teclado) e ecra (do tipo Slang::Ecra), não sendo por isso necessário criar quaisquer variáveis destes tipos.
Nesta documentação omite-se o prefixo Slang:: sempre que conveniente para facilitar a leitura, embora em rigor este seja necessário.
Para construir um programa (neste caso teste_slang.C) que utilize estas biblioteca deve dar o seguinte comando:
c++ -Wall -ansi -pedantic -g -o teste_slang teste_slang.C -lSlang++ -lslang
Os ficheiros fonte devem incluir o ficheiro de interface Slang/slang.H, que por sua vez inclui os ficheiros de interface dos quatro módulos, ou incluir apenas o ficheiro de interface do módulo pretendido.
Sempre que se testar algum programa que use a biblioteca Slang++
deve-se usar uma consola xterm
(outras consolas podem gerar alguns problemas). Para lançar uma consola xterm
deve-se dar o comando:
xterm&numa consola normal (Konsole).
Pode-se também fazer 'alt-F2' e escrever xterm
na caixa de diálogo que surge no ecrã.
Caso se pretenda instalar esta biblioteca noutro computador deve-se fazer o seguinte:
su (inserir a senha [password] de administração da máquina) rpm -Uhv slang*.rpm tar -zxf Slang++-0.2.tar.gz cd Slang++ make make install cd .. exit
|
ecra.H Slang/ecra.H Representa as possíveis cores do texto e do fundo de cada célula do ecrã. Note-se que nem todas as cores são válidas para o fundo em todos os terminais! Experimente para verificar quais é que funcionam bem... Ver na documentação abaixo os nomes das cores usados para inserção e extração de canais.
Definido na linha 361 do ficheiro ecra.H. 00361 { 00362 preto, 00363 primeira_cor = preto, 00364 cinza, 00365 vermelho, 00366 vermelho_brilhante, 00367 verde, 00368 verde_brilhante, 00369 castanho, 00370 amarelo, 00371 azul, 00372 azul_brilhante, 00373 magenta, 00374 magenta_brilhante, 00375 ciano, 00376 ciano_brilhante, 00377 cinzento_claro, 00378 branco, 00379 ultima_cor = branco 00380 }; |
|
ecra.H Slang/ecra.H Representa os vários tipos de justificação possíveis ao escrever texto no ecrã.
Definido na linha 425 do ficheiro ecra.H. 00425 { 00429 ao_centro, 00433 a_esquerda, 00437 a_direita 00438 }; |
|
ecra.H Slang/ecra.H Representa os caracteres especiais úteis para desenhar caixas e outros símbolos especiais.
Definido na linha 387 do ficheiro ecra.H. 00387 { 00388 diamante = '`', 00389 tijolo, 00390 ht, 00391 ff, 00392 cr, 00393 lf, 00394 grau, 00395 mais_menos, 00396 nl, 00397 vt, 00398 canto_inferior_direito, 00399 canto_superior_direito, 00400 canto_superior_esquerdo, 00401 canto_inferior_esquerdo, 00402 cruzamento, 00403 traco_topo, 00404 traco_superior, 00405 traco_horizontal, 00406 traco_inferior, 00407 traco_base, 00408 encontro_direita, 00409 encontro_esquerda, 00410 encontro_cima, 00411 encontro_baixo, 00412 traco_vertical, 00413 menor_ou_igual, 00414 maior_ou_igual, 00415 pi, 00416 diferente 00417 }; |
|
Definido na linha 624 do ficheiro ecra_impl.H. 00625 { 00626 return Caixa(origem, dimensao); 00627 } |
|
Definido na linha 616 do ficheiro ecra_impl.H. 00616 { 00617 return posicao; 00618 } |