padrão x-windows maria alice grigas varella ferreira ep-usp
TRANSCRIPT
Padrão X-Windows
Maria Alice Grigas Varella Ferreira
EP-USP
Maria Alice Grigas Varella Ferreira – EP-USP
O padrão X-Windows - requisitos de projeto
Servir a grande variedade de terminais de saída e dispositivos de entrada: desde monocromáticos até processa-dores gráficos de alto desempenho
Maria Alice Grigas Varella Ferreira – EP-USP
O padrão X-Windows - requisitos de projeto
Transparência às redes
Suportar várias aplicações funcionando concorrentemente uma em cada janela; várias janelas por aplicativo
Maria Alice Grigas Varella Ferreira – EP-USP
O padrão X-Windows - requisitos de projeto
Janelas de tamanho alterável
Suportar a sobreposição de janelas
Janela (Window) – região da tela, onde são exibidas as informações de um programa (W2 está associada ao Prog2, e possui uma janela-filha)
W1
W2
W3
Janela W2 está associada ao aplicativo Prog2
Maria Alice Grigas Varella Ferreira – EP-USP
O padrão X-Windows - requisitos de projeto
Aplicativos independentes de dispositivo:não editar, não recompilar, não religar às
bibliotecas DLLs – “dynamic link libraries”as funções gráficas devem funcionar para
qualquer vídeooperações indiferentes para vídeos
monocromáticos/coloridosvárias interfaces de gerenciamento diferentesvárias políticas de uso diferentes
Maria Alice Grigas Varella Ferreira – EP-USP
O padrão X-Windows - requisitos de projeto
Fornecer suporte de alta qualidade e alta resolução para:
Texto Imagens Gráficos 2D
A importância doser humano....
pixmaps bitmaps
0
20
40
60
80
100
1°
T r im.
3°
T r im.
L es t e
Oes t e
Nor t e
Maria Alice Grigas Varella Ferreira – EP-USP
A proposta do sistema X-Windows
Extensibilidade – estender rapidamente as funcionalidades do programa, sem ficar restringido por problemas relativos à interface
Permitir ciclo de vida evolutivo
Maria Alice Grigas Varella Ferreira – EP-USP
Componentes
O padrão X-Windows pressupõe uma arquitetura com três componentes:
Window Manager (Gerenciador de Janelas) – subsistema que ajuda o usuário a controlar contextos diferentes e trata da separação física entre as várias aplicações. Controla o tamanho e a localização da janela e seus atributos (títulos e bordas)
Maria Alice Grigas Varella Ferreira – EP-USP
Componentes
Input Manager (Gerenciador da Entrada) - trata da visão da entrada de dados e comandos pelas várias aplicações (que aplicação vê qual dispositivo)
Base Window System - infra-estrutura para o WM e o IM.
WM + IM = interface do usuário (apresentação + operações)
Maria Alice Grigas Varella Ferreira – EP-USP
Recursos
Recursos, em X-Windows, são representados por: imagens “offscreen” de tamanho
arbitrário janelas fontes de textocursores
Maria Alice Grigas Varella Ferreira – EP-USP
Recursos - Imagens
Bitmaps - retângulos de bits (0 e 1), usados como regiões de recorte ou usados na construção de cursores;Pixmaps - retângulos de n-planos de bits (cor); armazenamento de figuras muito usadas, armazenamento temporário de menus ou ladrilhos de cobertura da tela.
Maria Alice Grigas Varella Ferreira – EP-USP
Recursos – texto e gráficos
Texto - as fontes de texto possuem 256 caracteres, de altura variável. Não há substituição dinâmica de fontes (da alçada do usuário). Texto pode ser passado por “buffers” de armazenamento entre as aplicações.Gráficos - são carregados dos programas através de funções que indicam a forma de colocação na tela (funções lógicas de manipulação de bits). Permitem-se linhas, arcos e formas.
Maria Alice Grigas Varella Ferreira – EP-USP
Recursos - janelas
As janelas podem estar sobrepostas ou ladrilhadas. As primeiras que surgiram eram ladrilhadas; atualmente, usam-se mais, janelas sobrepostas.
As janelas Implementam a metáfora da mesa de escritório (“desktop”)
As janelas podem estar abertas na tela ou minimizadas, através de ícones
Maria Alice Grigas Varella Ferreira – EP-USP
Recursos - janelas
As janelas são criadas pelo Sistema Operacional (ambiente) e identificadas por um descritor; cada sistema admite um certo número de descritores, e portanto, de janelas.
Atualmente, somente o tamanho da memória limita tais elementos. Pode-se supor que nas plataformas atuais, não há limitação.
Maria Alice Grigas Varella Ferreira – EP-USP
Recursos - ÍconesÍcone - pequena figura que representa a janela e serve para diminuir o espaço ocupado pelas janelas na tela, retirando as que não se encontram em uso.Os ícones pictóricos criam a ilusão de se operar em um ambiente físico, contendo documentos, impressoras pincéis, tesouras etc. Os ícones podem ser criados a partir de imagens abstratas e então devem ser “aprendidos” pelos usuários.
Maria Alice Grigas Varella Ferreira – EP-USP
Hierarquia de janelas
Sistema de coordenadas - coordenadas absolutas de tela, com origem, geralmente, no canto esquerdo superior.
Bordas - área sombreada mantida pelo Gerenciador de Janelas
folhas
raiz
Janela-pai
W1
W2
W3
recorte
Maria Alice Grigas Varella Ferreira – EP-USP
Hierarquia de janelas
Janelas sofrem recorte na borda da janela-pai
Obscurecimento - W2 obscurece W1 e W3 - Geralmente, o WM trata de recuperar as partes obscurecidas para o usuário
W1
W2
W3
recorte
Maria Alice Grigas Varella Ferreira – EP-USP
Hierarquia de janelasTipos de Janelas:Opacas - é o tipo comum de uma
janela; ocorre o obscurecimento entre janelas.
Transparentes - são usadas para operações de recorte, operações de redimensionamento e movimentação de janelas e facilidades de controle da entrada (imagem do cursor)
Maria Alice Grigas Varella Ferreira – EP-USP
Hierarquia de janelas
Operações sobre Janelas:Criação da janelaDestruição da janelaRedimensionamentoMovimentação dentro da janela-pai e
dentro da hierarquiaetc
Background da janela (cor/textura)
Maria Alice Grigas Varella Ferreira – EP-USP
Recursos - máscaras
As operações sobre a janela podem ser feitas com o emprego de máscaras.Operações sobre bits - colorir janela, combinar ladrilho com região da janela, cópia de áreas etc:( (source FUNC destination ) AND
mask) (destination) AND (NOT mask) )
Maria Alice Grigas Varella Ferreira – EP-USP
Uso de recursos
Os recursos são identificados através de nomes. Se o usuário conhece o nome pode utilizá-lo, mesmo que pertença a
outro cliente facilita o compartilhamento de recursos.
Maria Alice Grigas Varella Ferreira – EP-USP
Uso de recursos
O recurso pertence a seu criador. Quando a conexão é desfeita, o sistema destrói o recurso.
Se ele tiver outros usuários, estes perdem o recurso. Os recursos possuem parâmetros. Ex: texto em uma janela: cor do texto, tipo de fonte,
cadeia que fornece os “dados” do texto.
Recurso = “widget” (parâmetros = atributos)
Recurso = texto (fonte, cor, tamanho, estilo, “Este texto é meu”)
Maria Alice Grigas Varella Ferreira – EP-USP
Uso de recursos
Janelas não podem ser partilhadas por programas diferentes. Uma janela pode “criar” outras janelas Hierarquia de
janelas (janelas ascendentes e descendentes)
Maria Alice Grigas Varella Ferreira – EP-USP
Cor
A janela é uma área retangular, mas alguns gerenciadores chegaram a utilizar telas circulares, com píxeis de “n” bits. n = 1 em vídeos monocromáticos e n>1 em vídeos coloridos -> planos da tela;
“n” entre 4 e 12 em vídeos “pseudocolor”
Maria Alice Grigas Varella Ferreira – EP-USP
Cor
“Color map” ou tabela de cores- conjunto de cores aceitas pelo vídeo; o píxel indexa a tabela de cores, que pode ser alterada dinamicamente. Os aplicativos partilham a tabela. O usuário especifica a tripla RGB Se a cor não existe na tabela, toma-se a cor mais
próxima Escalas de cinza - visão degenerada
Nomes das cores - existe uma tabela com nomes de cores, que pode ser utilizada. Existem vários modelos de cores em CG.
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada
Especificação de teclado e mouse
X-server
Device-library
tecladotela
mouse
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada
Ligação da entrada à janela - Uma das janelas está sempre ligada à entrada (mouse ou teclado) -> janela ativa, “listener” ou “input focus”
Mouse padrão - três botões + comandos adicionais (“multiclicking”); a entrada é assíncrona, com “feedback” léxico feito
automaticamente pela interface; o “feedback” semântico pode ser feito por eventos
gerados pelo servidor ou por “polling” do usuário. o movimento do mouse executa automaticamente o
realce dos itens de um menu (brilho, cor)
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada
Teclado - Cada tecla tem um código que deve ser traduzido em ASCII ou EBCDIC código universal. O teclado pode ser afetado pelos modificadores. Podem ainda ser compostos acordes.
Acordes - várias teclas pressionadas ao mesmo tempo
Modificadores (ctrl, alt e shift) - valem também para alterar o significado dos botões do mouse
Evento do teclado: tecla + modificadores + tipo de evento
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada
Cursores - formas arbitrárias que representam a posição dos dispositivos na tela (janela, coordenadas); são descritos por bitmaps que fornecem a sua forma e um ponto que especifica a coordenada do centro do bitmap na tela 16 X 16, mas podem ser redimensionados definição de cursor por janela
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada
Os dispositivos produzem eventos na tela: eventos do mouse: click dos botões, duplo
clicking, pressão do botão, soltura do botão eventos do teclado: pressão e soltura da tecla eventos da janela: mouse entra/sai da janela,
redimensionamento/movimentação da janela, movimento do mouse.
A janela seleciona os eventos que deseja receber, através de máscarasA janela no topo da pilha recebe o evento e o transmite às demais janelas na hierarquia
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada
Mouse - Pode ser afetado pelos modificadores Evento do mouse: local à janela e global à tela +
estado dos botões + estado dos modificadores + “timestamp”
“Timestamp” - tempo, medido em alguma unidade de tempo (milisegundo, por ex.) em relação a alguma origem (início do programa, um determinado instante de tempo etc)
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada - Gerenciamento
Os eventos se propagam pela hierarquia de janelas
O teclado é gerenciado de duas formas: “Real state” - o teclado fica amarrado ao
mouse “Listener” - o teclado é independente do
mouse e fica ligado a uma janela (“Focus”)
Maria Alice Grigas Varella Ferreira – EP-USP
“ADD-ONS” (Aditivos)
“Add-ons” são programas que “melhoram” os serviços do WM. Facilitam o desenvolvimento de aplicativos e fornecem a eles consistência.
1) “Typescript Package” - simula a interface de teletipo para aplicações que lêem linhas de texto (C, Pascal), copiam textos de uma janela para outra (SUN) ou gráficos (Macintosh). Pode ser até um editor completo (Andrew)
Maria Alice Grigas Varella Ferreira – EP-USP
“ADD-ONS” (Aditivos)
2) Editores de texto
3) Pacotes Gráficos - oferecem um modelo simples para a geração de gráficos, deixando para pacotes gráficos de verdade (GKS, PHIGS, CORE) as tarefas mais complexas. Pacotes mais complexos são montados sobre os mais simples. Obedece-se, em geral, ao critério “poucos primitivos, mas eficientes”. WM podem ser construídos sobre pacotes gráficos. Ex: Macintosh construído sobre o Quickdraw. Devem oferecer apresentação atrativa.
Maria Alice Grigas Varella Ferreira – EP-USP
“ADD-ONS” (Aditivos)
4) User interface toolkits e UIMS/UIDS - auxiliam o usuário na construção de seu diálogo. Ex:
Toolbox para o MacintoshSUIT para o sistema do Foley - uso didáticoVantagens: auxiliam a criação, aumentando a
produtividade, e fornecem consistência entre aplicações diferentes (mesmo “look” forma)
UIMS – “user interface management system” UIDS – “user interface development system”
Maria Alice Grigas Varella Ferreira – EP-USP
“ADD-ONS” (Aditivos)
Influência do WM na interface do usuário - O usuário irá construir sua interface utilizando os conceitos que o gerenciador oferece, os recursos colocados a sua disposição e assim, será fortemente influenciado por ele.
Personalização - alguns sistemas permitem a personalização do WM.
Maria Alice Grigas Varella Ferreira – EP-USP
Modelo do sistema (Cliente-Servidor)
NETWORK
X-server
Device-library
tecladotela
aplicativo aplicativo
WMGKS
X-VDI VT-100
Editorde texto
Bibliotecade textos
X-lib X-libX-lib X-lib
mouse
Maria Alice Grigas Varella Ferreira – EP-USP
A proposta do sistema X-Windows
Referências bibliográficas:Myers, B. - A Taxonomy of Window
Manager User InterfacesScheifler and Gettys - The X Windows
SystemsVan Dam, A. Post-WIMP User Interfaces.
Comm. of the ACM. v.40, n.2, Feb. 1997. p. 63-67.