Página principal   Módulos   Lista de namespaces   Hierarquia de classes   Lista de componentes   Lista de ficheiros   Membros do namespace   Componentes membro   Ficheiros membro   Páginas relacionadas  

Referência à classe Slang::Dimensao
[Ferramentas de ecrã]

Representa uma dimensão em células do ecrã. Mais...

#include <Slang++/ecra.H>

Mostrar lista completa dos membros

Membros públicos

Construtores
 Dimensao (int const numero_de_linhas=0, int const numero_de_colunas=0)
 Constrói uma nova dimensão.

 Dimensao (Posicao const &posicao)
 Constrói uma nova dimensão à custa de uma posição.

Inspectores
int numeroDeLinhas () const
 Devolve o número de linhas ecrã correspondente à dimensão.

int numeroDeColunas () const
 Devolve o número de colunas ecrã correspondente à dimensão.

Predicados
bool eCanonica () const
 Indica se a dimensão é canónica, i.e., se ambas as componentes são não-negativas.

Modificadores
void mudaNumeroDeLinhasPara (int const novo_numero_de_linhas)
 Muda o número de linhas do ecrã correspondentes à dimensão para novo_numero_de_linhas.

void mudaNumeroDeColunasPara (int const novo_numero_de_colunas)
 Muda o número de colunas do ecrã correspondentes à dimensão para novo_numero_de_colunas.

Serializadores
 Dimensao (std::istream &entrada)
 Constrói uma dimensão por carregamento a partir de um canal de entrada.

void carregaDe (std::istream &entrada)
 Carrega a dimensão a partir de um canal.

void guardaEm (std::ostream &saida) const
 Guarda a dimensão num canal.

Operadores
Dimensao & operator+= (Dimensao const &dimensao)
 Adiciona a dimensão de outra dimensão.

Dimensao & operator-= (Dimensao const &dimensao)
 Subtrai a dimensão de outra dimensão.


Funções associadas

(Note que não são funções membro)

Dimensao const operator+ (Dimensao uma_dimensao, Dimensao const &outra_dimensao)
 Devolve a adição de duas dimensões.

Dimensao const operator- (Dimensao uma_dimensao, Dimensao const &outra_dimensao)
 Devolve a subtracção de duas dimensões.

Dimensao const operator- (Dimensao const &dimensao)
 Devolve o simétrico de uma dimensao.

bool operator== (Dimensao const &uma_dimensao, Dimensao const &outra_dimensao)
 Indica se duas dimensões são iguais.

bool operator!= (Dimensao const &uma_dimensao, Dimensao const &outra_dimensao)
 Indica se duas dimensões são diferentes.


Descrição detalhada

Representa uma dimensão em células do ecrã.

É tipicamente usada para representar a dimensão de caixas. As dimensões são expressas em número de linhas e colunas. Qualquer das componentes de uma dimensão pode tomar valores negativos. Quando isso acontecer diz-se que a dimensão é "não-canónica".

As dimensões também podem ser vistas como vectores. Daí que possam ser adicionadas a posições. Da mesma forma, a subtracção entre duas posições é uma dimensão.

Invariante:
V.

Definido na linha 308 do ficheiro ecra.H.


Documentação dos Construtores & Destrutor

Slang::Dimensao::Dimensao int const    numero_de_linhas = 0,
int const    numero_de_colunas = 0
[inline, explicit]
 

Constrói uma nova dimensão.

Por omissão a dimensão é nula. Pode haver dimensões negativas.

Precondição:
V.
Poscondição:
numeroDeLinhas() = numero_de_linhas e numeroDeColunas() = numero_de_colunas.

Definido na linha 160 do ficheiro ecra_impl.H.

Referenciado por carregaDe().

Slang::Dimensao::Dimensao Posicao const &    posicao [inline, explicit]
 

Constrói uma nova dimensão à custa de uma posição.

Define uma conversão explícita entre posições e dimensões. A dimensão é a dimensão de uma caixa com canto superior esquerdo na célula (0, 0) e com canto inferior direito na célula imediatamente acima e à esquerda da posição dada.

Precondição:
V.
Poscondição:
numeroDeLinhas() = posicao.linha() e numeroDeColunas() = posicao.coluna().

Definido na linha 169 do ficheiro ecra_impl.H.

Slang::Dimensao::Dimensao std::istream &    entrada [explicit]
 

Constrói uma dimensão por carregamento a partir de um canal de entrada.

Assume-se que os dados no canal têm um formato equivalente ao produzido pela operação guardaEm().

Precondição:
entrada.good().
Poscondição:
Dimensao é a dimensão que se encontrava no canal de entrada.
Excepções:
ErroAoCarregar é lançada se a construção por carregamento falhar.

Definido na linha 39 do ficheiro ecra.C.


Documentação dos métodos

int Slang::Dimensao::numeroDeLinhas   const [inline]
 

Devolve o número de linhas ecrã correspondente à dimensão.

Precondição:
V.
Poscondição:
numeroDeLinhas() = número de linhas a que a dimensão corresponde.

Definido na linha 177 do ficheiro ecra_impl.H.

Referenciado por Slang::Ecra::cola(), Slang::Ecra::desenha(), eCanonica(), Slang::Ecra::moveCursorPara(), operator+=(), Slang::Posicao::operator+=(), operator-=(), Slang::Posicao::operator-=(), Slang::Ecra::operator>>() e Slang::Ecra::trocoDe().

int Slang::Dimensao::numeroDeColunas   const [inline]
 

Devolve o número de colunas ecrã correspondente à dimensão.

Precondição:
V.
Poscondição:
numeroDeColunas() = número de colunas a que a dimensão corresponde.

Definido na linha 184 do ficheiro ecra_impl.H.

Referenciado por Slang::Ecra::cola(), Slang::Ecra::desenha(), eCanonica(), Slang::Ecra::moveCursorPara(), operator+=(), Slang::Posicao::operator+=(), operator-=(), Slang::Posicao::operator-=(), Slang::Ecra::operator>>() e Slang::Ecra::trocoDe().

bool Slang::Dimensao::eCanonica   const [inline]
 

Indica se a dimensão é canónica, i.e., se ambas as componentes são não-negativas.

Precondição:
V.
Poscondição:
eCanonica() = (0 <= numeroDeLinhas() and 0 <= numeroDeColunas()).

Definido na linha 191 do ficheiro ecra_impl.H.

Referências numeroDeColunas() e numeroDeLinhas().

Referenciado por Slang::Caixa::eCanonica(), Slang::Ecra::Troco::Troco() e Slang::Ecra::trocoNoCursorCom().

void Slang::Dimensao::mudaNumeroDeLinhasPara int const    novo_numero_de_linhas [inline]
 

Muda o número de linhas do ecrã correspondentes à dimensão para novo_numero_de_linhas.

Precondição:
V.
Poscondição:
numeroDeLinhas() = novo_numero_de_linhas.

Definido na linha 199 do ficheiro ecra_impl.H.

void Slang::Dimensao::mudaNumeroDeColunasPara int const    novo_numero_de_colunas [inline]
 

Muda o número de colunas do ecrã correspondentes à dimensão para novo_numero_de_colunas.

Precondição:
V.
Poscondição:
numeroDeColunas() = novo_numero_de_colunas.

Definido na linha 209 do ficheiro ecra_impl.H.

void Slang::Dimensao::carregaDe std::istream &    entrada [inline]
 

Carrega a dimensão a partir de um canal.

Assume-se que os dados no canal têm um formato equivalente ao produzido pela operação guardaEm().

Precondição:
entrada.good().
Poscondição:
*this é a dimensão que se encontrava no canal de entrada.
Excepções:
ErroAoCarregar é lançada se o carregamento falhar. Nesse caso o canal pode ficar parcialmente lido.

Definido na linha 218 do ficheiro ecra_impl.H.

Referências Dimensao().

void Slang::Dimensao::guardaEm std::ostream &    saida const
 

Guarda a dimensão num canal.

O formato produzido é compatível com o que o método carregaDe() espera.

Precondição:
saida.good().
Excepções:
ErroAoGuardar é lançada se a operação falhar. Nesse caso o canal pode ficar parcialmente escrito.

Definido na linha 52 do ficheiro ecra.C.

Referenciado por Slang::Caixa::guardaEm().

Slang::Dimensao & Slang::Dimensao::operator+= Dimensao const &    dimensao [inline]
 

Adiciona a dimensão de outra dimensão.

A dimensão resultante é a soma da original com a dimensão a somar, em cada uma das direcções.

Precondição:
*this = p.
Poscondição:
numeroDeLinhas() = p.numeroDeLinhas() + dimensao.numeroDeLinhas() e numeroDeColunas() = p.numeroDeColunas() + dimensao.numeroDeColunas().

Definido na linha 227 do ficheiro ecra_impl.H.

Referências cumpreInvariante(), numeroDeColunas() e numeroDeLinhas().

Slang::Dimensao & Slang::Dimensao::operator-= Dimensao const &    dimensao [inline]
 

Subtrai a dimensão de outra dimensão.

A dimensão resultante é a subtracção da original da dimensão a subtrair, em cada uma das direcções.

Precondição:
*this = p.
Poscondição:
numeroDeLinhas() = p.numeroDeLinhas() - dimensao.numeroDeLinhas() e numeroDeColunas() = p.numeroDeColunas() - dimensao.numeroDeColunas().

Definido na linha 239 do ficheiro ecra_impl.H.

Referências cumpreInvariante(), numeroDeColunas() e numeroDeLinhas().


Documentação das classes amigas e funções relacionadas

Dimensao const operator+ Dimensao    uma_dimensao,
Dimensao const &    outra_dimensao
[related]
 

Devolve a adição de duas dimensões.

Precondição:
uma_dimensao = d.
Poscondição:
operator+.numeroDeLinhas() = d.numeroDeLinhas() + outra_dimensao.numeroDeLinhas() e operator+.numeroDeColunas() = d.numeroDeColunas() + outra_dimensao.numeroDeColunas().

Dimensao const operator- Dimensao    uma_dimensao,
Dimensao const &    outra_dimensao
[related]
 

Devolve a subtracção de duas dimensões.

Precondição:
uma_dimensao = d.
Poscondição:
operator-.numeroDeLinhas() = d.numeroDeLinhas() - outra_dimensao.numeroDeLinhas() e operator-.numeroDeColunas() = d.numeroDeColunas() - outra_dimensao.numeroDeColunas().

Dimensao const operator- Dimensao const &    dimensao [related]
 

Devolve o simétrico de uma dimensao.

Precondição:
V.
Poscondição:
operator-.numeroDeLinhas() = -dimensao.numeroDeLinhas() e operator-.numeroDeColunas() = -dimensao.numeroDeColunas().

bool operator== Dimensao const &    uma_dimensao,
Dimensao const &    outra_dimensao
[related]
 

Indica se duas dimensões são iguais.

Precondição:
V.
Poscondição:
operator== = (uma_dimensao.numeroDeLinhas() = outra_dimensao.numeroDeLinhas() e uma_dimensao.numeroDeColunas() = outra_dimensao.numeroDeColunas()).

bool operator!= Dimensao const &    uma_dimensao,
Dimensao const &    outra_dimensao
[related]
 

Indica se duas dimensões são diferentes.

Precondição:
V.
Poscondição:
operator!= = (uma_dimensao.numeroDeLinhas() ≠ outra_dimensao.numeroDeLinhas() ou uma_dimensao.numeroDeColunas() ≠ outra_dimensao.numeroDeColunas()).


A documentação para esta classe foi gerada a partir dos seguintes ficheiros:
Gerado em Tue Dec 3 15:19:37 2002 para Pacotes por doxygen1.3-rc1