#include <Slang++/ecra.H>
Mostrar lista completa dos membros
Membros públicos | |
Construtores | |
Caixa (Posicao const &origem=Posicao(), Dimensao const &dimensao=Dimensao()) | |
Constrói uma nova caixa. | |
Caixa (Posicao const &origem, Posicao const &extremo) | |
Constrói uma nova caixa. | |
Inspectores | |
Posicao const & | origem () const |
Devolve a origem da caixa, i.e., a posição do seu vértice superior esquerdo. | |
Posicao | extremo () const |
Devolve o extremo da caixa, i.e., a posição do seu vértice inferior direito. | |
Dimensao const & | dimensao () const |
Devolve a dimensao da caixa. | |
Predicados | |
bool | eVazia () const |
Indica se a caixa está vazia, i.e., se a sua dimensão é nula. | |
bool | eCanonica () const |
Indica se a caixa é canónica, i.e., se a sua dimensão é canónica. | |
bool | contem (Posicao const &posicao) const |
Indica se uma posição se encontra sobre a caixa, quer sobre a sua borda quer sobre o seu interior. | |
bool | bordaContem (Posicao const &posicao) const |
Indica se uma posição se encontra sobre a borda da caixa, quee existe mesmo para uma caixa vazia ou com dimensão negativa em alguma das direcções. | |
Modificadores | |
void | mudaOrigemPara (Posicao const &nova_origem) |
Muda a origem da caixa para nova_origem. | |
void | mudaExtremoPara (Posicao const &novo_extremo) |
Muda o extremo da caixa para novo_extremo. | |
void | mudaDimensaoPara (Dimensao const &nova_dimensao) |
Muda a dimensão da caixa para nova_dimensão. | |
Serializadores | |
Caixa (std::istream &entrada) | |
Constrói uma caixa por carregamento a partir de um canal de entrada. | |
void | carregaDe (std::istream &entrada) |
Carrega a caixa a partir de um canal. | |
void | guardaEm (std::ostream &saida) const |
Guarda a caixa num canal. | |
Operadores especiais de atribuição | |
Caixa & | operator+= (Dimensao const &deslocamento) |
Desloca a caixa de um dado deslocamento. | |
Caixa & | operator-= (Dimensao const &deslocamento) |
Desloca a caixa de um dado deslocamento. | |
Caixa & | operator+= (Caixa const &outra_caixa) |
Une a caixa com a caixa outra_caixa. | |
Caixa & | operator *= (Caixa const &outra_caixa) |
Intersecta a caixa com a caixa outra_caixa. | |
Funções associadas | |
(Note que não são funções membro) | |
Caixa const | operator+ (Caixa caixa, Dimensao const &deslocamento) |
Devolve a adição de uma caixa e de uma dimensão. | |
Caixa const | operator- (Caixa caixa, Dimensao const &deslocamento) |
Devolve a subtracção de uma caixa e de uma dimensão. | |
Caixa const | operator+ (Dimensao const &deslocamento, Caixa caixa) |
Devolve a adição de uma caixa e de uma dimensão. | |
Caixa const | operator+ (Caixa uma_caixa, Caixa const &outra_caixa) |
Devolve a união de duas caixas. | |
Caixa const | operator * (Caixa uma_caixa, Caixa const &outra_caixa) |
Devolve a intersecção de duas caixas. | |
bool | operator== (Caixa const &uma_caixa, Caixa const &outra_caixa) |
Indica se duas caixas são iguais. | |
bool | operator!= (Caixa const &uma_caixa, Caixa const &outra_caixa) |
Indica se duas caixas são diferentes. |
Uma caixa é um conjunto de células formando um rectângulo de lados não oblíquos, i.e., verticais ou horizontais. Uma caixa tem uma origem e um extremo. A dimensão da caixa é a diferença entre o extremo e a origem, mas somada de Dimensao(1, 1), visto que quer a origem quer o extremo se encontram sobre a caixa. Uma caixa diz-se canónica se a sua dimensão for canónica. Uma caixa diz-se vazia se a sua dimensão for Dimensao(0, 0). As caixas podem ser inseridas no ecrã, sendo desenhado um rectângulo oco com as suas dimensões. Por exemplo, o código
#include <Slang++/slang.H> using namespace Slang; // Mostra uma caixa com 1/4 da área do ecrã (metade das suas dimensões // horizontal e vertical) centrada no ecrã. int main() { Caixa uma_caixa(Posicao(ecra.dimensao().numeroDeLinhas() / 4, ecra.dimensao().numeroDeColunas() / 4), Dimensao(ecra.dimensao().numeroDeLinhas() / 2, ecra.dimensao().numeroDeColunas() / 2)); ecra << uma_caixa << refresca; teclado.leProximaTeclaDisponivel(); }
escreve uma caixa centrada no ecrã e com 1/4 da sua área.
Definido na linha 556 do ficheiro ecra.H.
|
Constrói uma nova caixa. Por omissão a caixa localiza-se no canto superior esquerdo do ecrã e a sua dimensão é nula. Ao canto superior esquerdo de uma caixa chama-se a sua "origem". Ao canto oposto chama-se "extremo". Note-se que uma caixa pode ter dimensão nula ou mesmo negativa em alguma direcção.
Definido na linha 293 do ficheiro ecra_impl.H. Referenciado por carregaDe(). |
|
Constrói uma nova caixa. Neste caso a construção é feita a partir das posições de dois vértices da caixa. Esses vértices são o superior esquerdo (origem) e o inferior direito (extremo). Se a origem estiver à direita ou abaixo do extremo, a caixa diz-se não-canónica.
Definido na linha 300 do ficheiro ecra_impl.H. |
|
Constrói uma caixa 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().
Definido na linha 394 do ficheiro ecra_impl.H. |
|
Devolve a origem da caixa, i.e., a posição do seu vértice superior esquerdo.
Definido na linha 308 do ficheiro ecra_impl.H. Referenciado por bordaContem(), contem(), Slang::Ecra::desenha(), mudaExtremoPara(), operator *=(), operator+=() e Slang::Ecra::trocoDe(). |
|
Devolve o extremo da caixa, i.e., a posição do seu vértice inferior direito.
Definido na linha 315 do ficheiro ecra_impl.H. Referenciado por bordaContem(), contem(), operator *=() e operator+=(). |
|
Devolve a dimensao da caixa.
Definido na linha 322 do ficheiro ecra_impl.H. Referenciado por Slang::Ecra::desenha(), eCanonica(), eVazia() e Slang::Ecra::trocoDe(). |
|
Indica se a caixa está vazia, i.e., se a sua dimensão é nula.
Definido na linha 329 do ficheiro ecra_impl.H. Referências dimensao(). |
|
Indica se a caixa é canónica, i.e., se a sua dimensão é canónica.
Definido na linha 336 do ficheiro ecra_impl.H. Referências dimensao() e Slang::Dimensao::eCanonica(). Referenciado por Slang::Ecra::operator<<() e Slang::Ecra::trocoDe(). |
|
Indica se uma posição se encontra sobre a caixa, quer sobre a sua borda quer sobre o seu interior. Note-se que uma caixa com dimensão negativa em alguma das direcções não tem interior.
Definido na linha 343 do ficheiro ecra_impl.H. Referências Slang::Posicao::coluna(), extremo(), Slang::Posicao::linha() e origem(). |
|
Indica se uma posição se encontra sobre a borda da caixa, quee existe mesmo para uma caixa vazia ou com dimensão negativa em alguma das direcções.
Definido na linha 353 do ficheiro ecra_impl.H. Referências Slang::Posicao::coluna(), extremo(), Slang::Posicao::linha() e origem(). |
|
Muda a origem da caixa para nova_origem. Atenção: a dimensão mantém-se, pelo que o extremo da caixa é alterado em paralelo com a sua origem!
Definido na linha 367 do ficheiro ecra_impl.H. Referenciado por operator *=() e operator+=(). |
|
Muda o extremo da caixa para novo_extremo. Atenção: a origem mantém-se, pelo que a dimensão da caixa é alterada, ao contrário do que acontece quando a origem é alterada directamente!
Definido na linha 376 do ficheiro ecra_impl.H. Referências origem(). Referenciado por operator *=() e operator+=(). |
|
Muda a dimensão da caixa para nova_dimensão. Atenção: a origem mantém-se, pelo que o extremo da caixa é alterado em paralelo com a sua dimensão!
Definido na linha 385 do ficheiro ecra_impl.H. |
|
Carrega a caixa a partir de um canal. Assume-se que os dados no canal têm um formato equivalente ao produzido pela operação guardaEm().
Definido na linha 401 do ficheiro ecra_impl.H. Referências Caixa(). |
|
Guarda a caixa num canal. O formato produzido é compatível com o que o método carregaDe() espera.
Definido na linha 63 do ficheiro ecra.C. Referências Slang::Dimensao::guardaEm() e Slang::Posicao::guardaEm(). |
|
Desloca a caixa de um dado deslocamento.
Definido na linha 411 do ficheiro ecra_impl.H. |
|
Desloca a caixa de um dado deslocamento.
Definido na linha 423 do ficheiro ecra_impl.H. |
|
Une a caixa com a caixa outra_caixa. A união de duas caixas é a menor caixa que as envolve.
Definido na linha 434 do ficheiro ecra_impl.H. Referências Slang::Posicao::coluna(), extremo(), Slang::Posicao::linha(), mudaExtremoPara(), mudaOrigemPara() e origem(). |
|
Intersecta a caixa com a caixa outra_caixa. A intersecção de duas caixas é a maior caixa que se inclui em ambas. Note-se, no entanto, que se as duas caixas forem regulares (i.e., com dimensão positiva) e se não intersectarem geometricamente, esta operação tem como resultado uma caixa com pelo menos uma dimensão negativa ou nula.
Definido na linha 453 do ficheiro ecra_impl.H. Referências Slang::Posicao::coluna(), extremo(), Slang::Posicao::linha(), mudaExtremoPara(), mudaOrigemPara() e origem(). |
|
Devolve a adição de uma caixa e de uma dimensão. A dimensão é interpretada como um vector de deslocamento. A caixa devolvida é igual à recebida como argumento, embora deslocada de acordo com o deslocamento dado.
|
|
Devolve a subtracção de uma caixa e de uma dimensão. A dimensão é interpretada como um vector de deslocamento. A caixa devolvida é igual à recebida como argumento, embora deslocada de acordo com o deslocamento dado.
|
|
Devolve a adição de uma caixa e de uma dimensão. A dimensão é interpretada como um vector de deslocamento. A caixa devolvida é igual à recebida como argumento, embora deslocada de acordo com o deslocamento dado.
|
|
Devolve a união de duas caixas. A união de duas caixas é a menor caixa que as envolve.
|
|
Devolve a intersecção de duas caixas. A intersecção de duas caixas é a maior caixa que se inclui em ambas. Note-se, no entanto, que se as duas caixas forem regulares (i.e., com dimensão positiva) e se não intersectarem geometricamente, esta operação tem como resultado uma caixa com pelo menos uma dimensão negativa ou nula.
|
|
Indica se duas caixas são iguais.
|
|
Indica se duas caixas são diferentes.
|