padrão x-windows maria alice grigas varella ferreira ep-usp

38
Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Padrão X-Windows Maria Alice Grigas Varella Ferreira EP-USP

Padrão X-Windows

Maria Alice Grigas Varella Ferreira

EP-USP

Page 2: 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

Page 3: 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

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

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

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

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

T r im.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.