Home

X Xlib de Jean Marc Farinome

image

Contents

1. partir de http x cygwin com le projet Cygwin X Un excellent manuel d utilisation et d installation d crit le produit Un serveur X peut tre lanc sur l cran windows par startxwin bat REP_INSTAL usr X11R6 bin startxwin bat N cessite d avoir install le projet cygwin API Unix pour windows X Window et Macintosh Disponible a http www apple com downloads macosx unix open _source xfree86 html I 25 JMF DV
2. 0 int fini main argc argv int argc char argv Display mon display Window ma_window XEvent evenement int mon ecran unsigned long couleur bord couleur fond fen void erreur void TraiteEvenement Les initialisations necessaires 1 if mon display XOpenDisplay NULL NULL erreur XOpenDisplay mon ecran DefaultScreen mon display Valeurs par default des pixels couleur_fond_fen WhitePixel mon_display mon_ecran couleur_bord BlackPixel mon_display mon_ecran Creation de la fen tre ma_window XCreateSimpleWindow mon_display DefaultRootWindow mon_display 200 300 350 250 5 Bordure de 5 pixels couleur_bord couleur fond fen I 17 JMF DV X Window Selection des evenements a gerer XSelectinput mon display ma_window ButtonPressMask evenement de bouton de souris Enfin l affichage de la fen tre Avant on l avait seulement cr e Lorsque le serveur aura traite XMapWindow il retourne un evenement d exposition evenement qui sera exploite par la boucle d evenements XMapWindow mon_display ma_window LA BOUCLE D EVENEMENTS fini FAUX while fini XNextEvent mon display amp evenement TraiteEvenement amp evenement Terminaison correcte de cette monumentale application XDestroyWindow mon_display ma_window XCloseDisplay mon display void TraiteEvenement
3. le contenu d une entr e signifie que tous les dessins qui l utilisent changent de couleur Certaines applications utilisent leur propre table de couleurs Quand le curseur p n tre dans leur espace gt flash assez d sagr able car toutes les autres couleurs changent 1 23 JMF DV X Window Le champ function du GC Le champ function du contexte graphique d termine la mani re de combiner la couleur de dessin avec celle sur laquelle on dessine Entre le pixel dst d j dessin et le pixel qu on veut dessiner dit pixel source src on fait l op ration logique src function dst Remarque pixel indice dans la table de couleurs function op ration logique bit par bit Mise a jour du champ function XSecPuncri0on aisolay Ge Tonetion Fonction logique D finition GXclear 0 Gand src AND dst GXandReverse src AND NOT dst GXcopy Src GXandinverted NOT src AND dst GXnoop dst GXxor src XOR dst GXor src OR dst GXnor NOT src AND NOT dst GXequiv NOT src XOR dst GXinvert NOT dst GXorReverse src OR NOT dst GXcopyInverted NOT src GXoriInverted NOT src OR dst GXnand NOT src OR NOT dst GXset 1 Les fonctions les plus utilis es GXcopy copie le pixel src en ignorant dst GXxor une seconde application efface le premier dessin utile pour les animations 1 24 JMF DV X Window Ou trouver X Window X Window et windows Une implantation gratuite de X Window et disponible a
4. pt_Evt XEvent pt_Evt switch pt_Evt gt type case ButtonPress Quand un bouton est enfonce fini passe a vrai ce qui terminera l application OK fini VRAI break switch TraiteEvenement void erreur s t char s t orintf Erreur s s n s t exit 1 Pour compiler un programme Xlib mis dans le fichier SE cc first c 1X11 o first I 18 JMF DV X Window La boucle d v nements v nements interruptions g n r es par certaines manipulations entr es clavier reconfiguration des fen tres appui de bouton souris par l utilisateur les v nements sont rang s dans une file le programme lit les v nements dans cette file XEvent EvtAtTraiter while 1 XNextEvent display amp EvtATraiter switch EvtATraiter type case Expose Traitement des v nements d exposition break case ButtonPress Traitement des v nements bouton souris break case KeyPress Traitement des v nements clavier break Ces interruptions sont structur es structure XEvent lieu sur l cran o a t mis le clic souris date de retaillage d une fen tre Les v nements re us par une fen tre ont t envoy s par le serveur X gt le serveur X a donc fait un travail de tri quel programme doit recevoir quels v nements gt chaque fen tre d un programme X doit informer le serveur quels sont les v nements qui l int res
5. rend transparents les protocoles de communications de bas niveau Caract ristiques asynchrone full duplex pas de confirmation de r ception de messages les requ tes clients ne sont pas envoy es directement mais sont stock s temporairement dans un tampon limitant ainsi le nombre d acc s r seau Types de message Les requ tes sens unique client X gt serveur X ex Cr ation de ressources X Les requ tes avec r ponse client X gt serveur X ex Information sur les ressources X cr es avant Les v nements serveur X gt client X ex Pression d un bouton de la souris Les r ponses serveur X gt client X ex taille d une fen tre Les messages d erreurs ex connexion non tablie I 10 JMF DV X Window Transmission de messages X protocolaires Application Application zone tampon des requ tes File v nements R ception des requ tes clients du serveur X JMF DV X Window X protocole asynchrone Les requ tes ne sont pas forc ment envoy es imm diatement Serveur X Client X Requ te de connexion R ponse de connexion Requ te de cr ation de fen tre Requ te de cr ation de GC Requ te d affichage de fen tre Ev nement de type expose Requ te d affichage de texte I 12 JMF DV X Window Window Manager client particulier qui permet de retailler les fen tres r arranger les fen tres sur l cran co
6. GC display drawable masque AdrValeursGC AdrValeursGC adresse d une structure qui contient les parametres graphiques masque identifie les param tres utilis s 1 21 JMF DV X Window Exemple d utilisation GC gc XGCValues ValeursGC ValeursGC foreground BlackPixel display screen ValeursGC line_width 4 gc XCreateGC display RootWindow display screen GCForeground GCLineWidth amp ValeursGC On peut d sormais utiliser ce GC Une variante plus lisible GC gc gc XCreateGC display RootWindow display screen 0 NULL XSetForeground display gc BlackPixel display screen XSetLineWidth display gc 4 On peut d sormais utiliser ce GC La structure XGCValues Les principaux champs foreground couleur du trait background couleur de fond font police de caract res line width paisseur de trait line style style de trait fill style style de remplissage d une zone function fonction de dessin 1 22 JMF DV X Window La Couleur La plupart des crans actuels sont g r s l aide d une table de couleur colormap look up table Un point l cran pixel d termine sa couleur l aide d un indice dans la table de couleurs A cet indice dans la table se trouvent les caract ristiques de la couleur quantit de rouge vert bleu On a donc 5 101 4 100 3 011 2 010 l 001 0 000 Table de couleurs 1 Changer
7. X Window Le systeme graphique X Window JMF DV X Window Introduction Historique d velopp au MIT en 1984 projet ATHENA d riv du systeme de fen trage W Stanford la version la plus connue version 11 X11 1987 derni re release X11R6 1994 gestion de l affichage en mode graphique fen tres dessins texte images gestion des entr es clavier souris couche au dessus du syst me d exploitation ind pendante du mat riel et du syst me d exploitation utilisation en r seau transparente et optimis e 1 2 JMF DV X Window Concepts de base Les fen tres contenu dessin graphique texte images gestion du chevauchement association des entr es clavier souris aux fen tres Le modele client serveur un serveur graphique et plusieurs clients applis communication bi directionnelle Le fonctionnement en r seau protocole X communication entre les clients et le serveur utilisation des couches r seau de transport ex TCP DECNet Librairies d interface au protocole X la plus connue est Xlib langage C permettent l criture d applications X Window 1 3 JMF DV X Window Les fen tres Caract ristiques Zone rectangulaire compos e de pixels primitives de dessin qui modifient ces pixels O X root window Structure arborescente root window N 2 ANN Etat d une fen tre affichable visible
8. hine locale Ceci est obtenue a l aide de la commande xhost lanc e sur la machine locale xhost permet d ajouter ou de retirer des machines autoris es afficher leur sorties sur la machine locale Exemples xhost toutes les machines peuvent afficher xhost seules peuvent afficher les machines autoris es dans etc X lt Nom_ serveur X gt hosts xhost NomMachine NomMachine ne peut plus afficher xhost NomMachine NomMachine peut afficher Conclusion Sur la machine DISTANTE taper setenv DISPLAY NomMachineLOCALE 0 0 Sur la machine LOCALE taper xhost 1 14 JMF DV X Window La pile X Window X ocre atten ai UN MIT Ww Xtoolkit Xt Xlib Protocole X ms MF I 16 X Window Structure d un programme Xlib Inclusion de fichiers h X11 D clarations globales de structure de donn es n cessaires notre application Window Display la fonction main contient une connexion au serveur X le num ro de l cran ou se font les affichages creer des fen tres mapping des fen tres selection des evenements a traiter la boucle d evenements liberation des ressources allou es par le programme JMF DV X Window Exemple de programme Ce programme cr e une fen tre Quand on appuie sur un bouton de la souris l application se termine include lt stdio h gt include lt X11 Xlib h gt define VRAI 1 define FAUX
9. nvertir des fen tres en ic nes faire appara tre la fen tre en premier arri re plan d truire une fen tre Exemple mwm tum En g n ral 1l habille les fen tres d un cadre Le cadre autour des fen tres n est donc pas mis par les applications n1 par le protocole X mais par le WM Le WM impose l aspect et la mani re de manipuler les fen tres le look and feel Exemple d change X avec WM retaillage d une fen tre xeyes 1 l utilisateur appuie sur la souris au bord de la fen tre et d place la souris interruption envoy e au serveur 2 Le serveur re oit cette interruption la transforme en v nement et l envoie au WM 39 Le WM retaille la fen tre r ajuste son contour et envoie des requ tes au serveur pour d autres clients indirectement concern s par ce retaillage masquage ou d masquage de leurs fen tres 4 Le serveur X informe envoie des v nements tous les clients concern s entre autre xeyes 5 xeyes re oit cet v nement et r ajuste son dessin I 13 JMF DV X Window Remarques Quand on lance un client sur une machine distante il faut avoir indiqu sur quelle machine et cran vont se faire les entr es sorties En g n ral cela est pr cis par la variable DISPLAY Par exemple lancer sur la machine distante la commande en csh setenv DISPLAY NomMachineLOCALE 0 0 II faut de plus que la machine distante soit autoris e afficher sur la mac
10. programmes dont l affichage et les entr es sont g r s par un serveur X peuvent s ex cuter sur la m me machine que le serveur ou sur une machine distante communiquent avec le serveur par le protocole X utilisent la librairie Xlib Communication client serveur client serveur requ tes d affichage messages de taille r duite all gement trafic Optimisation au niveau du serveur X par le partage de ressources communes entre clients polices de caract res tables de couleurs etc serveur client v nements clavier souris demande de r affichage expose les clients ne communiquent directement pas entre eux I 8 JMF DV X Window Exemple de dialogue X e Client 1 Serveur X ET Mo v nements p requ tes gt Le serveur X distribue les entr es clavier souris de l utilisateur converties en v nements aux diff rents clients applications re oit les requ tes d affichage des diff rents clients et les dessine l cran Exemple L utilisateur tape des caract res dans une fen tre le serveur envoie ces caract res au client concern associ cette fen tre C est au client d cider que ces caract res ont un cho ou pas I 9 JMF DV X Window Le protocole X d finit le format des messages le type des messages chang s et les r gles de communication ind pendance du syst me d exploitation du mat riel
11. sent XSelectInput display Fen MasqueEvt I 19 JMF DV X Window L v nement Expose G n r lorsqu une fen tre est mapp e ou devient visible apr s avoir t cach e par une autre m me en partie C est g n ralement la charge de l application de redessiner sa fen tre pas au serveur X Lorsqu une fen tre en arri re plan passe au premier plan elle doit redessiner certaines de ces parties Le serveur X lui a envoy pour cela ventuellement plusieurs Expose Event fen tre B Quand la fen tre E passe en premier plan elle re oit des v nements Expose pour chaque zone d intersection 1 20 JMF DV X Window Contexte graphique Pour dessiner dans les fen tres la Xlib offre des fonctions graphiques Pour transmettre les param tres graphiques ces fonctions couleur paisseur des traits police style de remplissage des surfaces etc on utilise des trousses de dessin Contexte graphique GC un identificateur de trousse de dessin Avantages on vite d avoir passer un nombre trop important d arguments dans les fonctions graphiques performance r seau la trousse de dessin est cr e et gard e par le serveur et rep r e dans les requ tes du client par son ID le GC Un GC peut tre partag par deux clients distincts on peut cr er plusieurs GC dans un client et indiquer chaque trac quel GC on utilise Cr ation de contexte graphique GC XCreate
12. totalement mapp e visible non affichable masqu e partiellement visible non mapp e I 4 JMF DV X Window Architecture client serveur Comme d habitude un serveur rend un service un client de ce service est un demandeur de ce service Ici le service est un service d interface homme machine Signification particuli re des termes serveur X programme qui g re l cran d affichage le clavier et la souris client X programme applicatif qui peut s ex cuter sur la m me machine que le serveur X ou ailleurs Remarque en bases de donn es le client est ici sur le poste de travail et le serveur est ailleurs En X Window la localisation est invers e Machine devant laquelle est l utilisateur I 5 JMF DV X Window Architecture X Window Prog P1 a Process P c T JMF DV X Window Le serveur X Composantes pilote d cran pilotes de clavier et de souris pilote de communication en r seau Serveur X R seau e ese pilotes Display et crans un display correspond a un serveur X ou au canal de communication qui m ne ce serveur X plusieurs display possibles sur une machine un display peut g rer plusieurs crans adressage nom host adresse IP n display n cran Ex fermi 0 0 192 70 50 2 0 1 en g n ral un seul display n 0 et un cran n 0 1 7 JMF DV X Window Clients Les clients

Download Pdf Manuals

image

Related Search

Related Contents

ー N264/N3 64  取扱説明書 - AQUA(アクア)|ハイアールアジア株式会社  GOCLEVER Navio 505  American Standard 2506.155 Indoor Furnishings User Manual  Black & Decker GL7033  AEDIT Text Editor  XPS-MC16 XPS-MC32 Contrôleur de sécurité Safety  EELLLVVV66633  

Copyright © All rights reserved.
Failed to retrieve file