Window (gb.ncurses)

Uma janela é um objecto que pode ser utilizado para exibir o texto no ecrã. Na verdade, você não é capaz de escrever praticamente nada para a tela sem uma janela envolvida. Tal janela ocupa seu próprio espaço de memória - não está ligado a tela, embora não compartilhe memória com ele.

Com isso em mente, podemos distinguir entre a tela física e uma tela interna, virtual, que são sincronizadas à vontade (output buffer), mas, por padrão, o componente sincroniza automaticamente após cada operação sobre o conteúdo da janela.

Isso também significa que as janelas podem se sobrepor sem substituir o conteúdo das outras Windows. O mecanismo de desenho a direita (o visível, se falamos de sobreposição) parte da memória para a tela, é mantido pela biblioteca de extensão do painel ncurses. Isso é principalmente uma pilha de painéis que escolhe a parte correta da memória, dependendo da posição da sua janela na pilha de painéis.

Esta classe pode ser usada como um objeto através da criação de uma instância escondida sob demanda.

Esta classe é criável.

Esta classe funciona como um array apenas leitura.

Propriedades
Attributes   Retorna um objeto virtual usada para manipular atributos associados a Window.
Background   Retorna ou define a cor da Window, ou seja, uma das constantes em Color. As alterações têm efeito sobre todo o conteúdo, e não apenas para as operações subsequentes, como seria o uso de .Attributes.Color.
Border   Retorna ou define se a Window tem uma borda. A borda envolve o conteúdo da janela e não pode ser substituído pelas rotinas da janela (em oposição às bordas ncurses normais que são na parte interna da janela).
Buffered   Retorna ou define se a saída para Window é armazenado em buffer ou não. Por padrão, ele não é.
Caption   Define o título da janela se ela tiver uma borda. O título (ou legenda) é impresso na borda superior da janela.
CursorX   Retorna ou define a posição do cursor X na Window.
CursorY   Retorna ou define a posição do cursor Y na Window.
Foreground   Retorno ou define o primeiro plano da Window.
H   Um sinônimo para Height.
Height   Retorna ou define a altura do conteúdo das Window's, que são independentes da opçõo borda.
Pair   A propriedade Window.Pair codifica as cores das letras e do fundo de um caractere em um único inteiro.
Paper   Um sinônimo de Background
Pen   Um sinônimo para Foreground
W   Um sinônimo para Width.
Width   Retorna ou define a largura do conteúdo das Window's, independentemente das configurações da borda.
Wrap   Retorna ou define a quebrar automática de linha.
X   Retorna ou define a posição X da Window na tela.
Y   Retorna ou define a posição Y da Window na tela.

Métodos
Ask   Esta função solicita que o usuário digite qualquer um dos caracteres presentes em Opts, opcionalmente para após Tries teclas digitadas erradas. Se Tries for omitido, a função irá perguntar até que uma das opções seja escolhida.
Center   Centraliza a janela no terminal.
Clear   O método Window.Clear() limpa a tela, ou seja, ele grava espaços em branco para todos os caracteres na janela. Portanto, Window.Clear() colore toda a sua janela com Window.Pair além de apagar todo o texto nela.
Cls   Limpe a janela.
Drain  
DrawHLine   Desenhar uma linha traçada desde X,Y que vai Len caráteres sobre o eixo X. Ch é o caractere usado para desenhar a linha. Para uma linha horizontal, pode-se usar "-". O parâmetro Thickness é opcional especifica a expansão na direção do eixo Y.
DrawVLine   Desenha uma linha traçada desde X,Y que vai Len caráteres sobre o eixo Y. Ch é o caractere usado para desenhar a linha. Para uma linha vertical, pode-se usar "|". O parâmetro opcional Thickness especifica a expansão na direção do eixo X.
Get   Retorne os caracteres que inicia em X,Y. Se Len for omitido, esta função retorna a linha inteira. Se Len é dado, o Window é tratado como se fosse memória linear. Isto significa que Len vai além do comprimento da linha, a função opera em todas as linhas subsequentes.
Hide   Remova a Window da pilha stack. A torna invisível, mas ainda existe.
Locate   Mover o Cursor para o local referenciado por X, Y.
Lower  
Move   Mover a Window para o novo local referenciado por X, Y.
Print   Imprime Text na posição atual do cursor, ou na posição X,Y se especificado. Todos os dados existentes na região serão substituídos:
PrintCenter   Esta rotina é usada para imprimir o Text dado o mais próximo possível do centro da Window. Na verdade, ela tenta imprimir a linha do meio mais próximo ao centro vertical da janela e o caráter médio em cada linha o mais próximo do centro horizontal da janela.
Raise   Traz a janela para o primeiro plano.
Read  
ReadLine  
Resize   Redimensiona a Window, conforme especificado por W e H.
SetFocus   Define o foco da Window especial de forma que gere o evento Read.
SetFullscreen  
Show   Insere a Window no topo da pilha de painéis. Esta função pode ser usada para mostrar e ocultar Janelas.

Eventos
Read   O evento de leitura é gerado para a Window sempre que os dados chegam na fila de entrada (ou seja, stdin ou o teclado diretamente) que se observa atualmente. Quando, qual o tipo e quantidade de dados que chegam, depende do Modo de entrada definido no momento.