Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.
Transcript of Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.
![Page 1: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/1.jpg)
Padrão X-Windows
Maria Alice Grigas Varella Ferreira
EP-USP
![Page 2: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/2.jpg)
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
![Page 3: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/3.jpg)
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
![Page 4: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/4.jpg)
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
![Page 5: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/5.jpg)
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
![Page 6: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/6.jpg)
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
![Page 7: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/7.jpg)
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
![Page 8: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/8.jpg)
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)
![Page 9: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/9.jpg)
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)
![Page 10: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/10.jpg)
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
![Page 11: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/11.jpg)
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.
![Page 12: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/12.jpg)
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.
![Page 13: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/13.jpg)
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
![Page 14: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/14.jpg)
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.
![Page 15: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/15.jpg)
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.
![Page 16: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/16.jpg)
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
![Page 17: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/17.jpg)
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
![Page 18: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/18.jpg)
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)
![Page 19: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/19.jpg)
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)
![Page 20: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/20.jpg)
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) )
![Page 21: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/21.jpg)
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.
![Page 22: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/22.jpg)
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”)
![Page 23: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/23.jpg)
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)
![Page 24: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/24.jpg)
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”
![Page 25: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/25.jpg)
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.
![Page 26: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/26.jpg)
Maria Alice Grigas Varella Ferreira – EP-USP
Tratamento da Entrada
Especificação de teclado e mouse
X-server
Device-library
tecladotela
mouse
![Page 27: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/27.jpg)
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)
![Page 28: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/28.jpg)
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
![Page 29: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/29.jpg)
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
![Page 30: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/30.jpg)
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
![Page 31: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/31.jpg)
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)
![Page 32: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/32.jpg)
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”)
![Page 33: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/33.jpg)
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)
![Page 34: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/34.jpg)
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.
![Page 35: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/35.jpg)
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”
![Page 36: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/36.jpg)
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.
![Page 37: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/37.jpg)
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
![Page 38: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP.](https://reader035.fdocumentos.com/reader035/viewer/2022062700/552fc12f497959413d8d3b34/html5/thumbnails/38.jpg)
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.