Home
        Le système graphique X Window
         Contents
1.                    Con        VI  2    1 6          DV             Xlib X Window    Le serveur X    Composantes    pilote d   cran    pilotes de clavier et de souris      pilote de communication  en r  seau   Station    ue    _       cran    500115  R  seau Serveur X   m        clavier    e pilotes Fese                     Display et   crans      un display correspond    un serveur X ou au canal  de communication qui m  ne a 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           g  n  ral un seul display  n   0  et un   cran  n   0     1 7          DV    Xlib X Window    Clients    Les clients      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    1 8          DV    Xlib X Window    Exemple de dialogue X 
2.    Client 1       Serveur X               v  nements    requ  tes        Le serveur          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     1 9 JMF   DV    Xlib 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       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 en g  n  ral pas envoy  es  directement mais sont stock  s temporairement dans  un tampon limitant ainsi le nombre d acc  s r  seau     Types de messages    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  auparavant    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 
3.    mapp  e      visible  non affichable masqu  e partiellement   non mapp  e  visible    I 4          DV    Xlib 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       Xlib X Window    Architecture X VVindovv                                                       SN                                                                                                                                                                                                                                                                                                                      MH                   CELL        HAE                                                      P1                                                       ANNE CC A TO    P         rocess   i  100000      1  D  D   TE  2       ______    y   gros     J  N        je                                                                                
4.  ecran         Creation de la fen  tre      ma_window   XCreateSimpleWindow  mon display   DefaultRootWindow  mon display    200  300  350  250   5     Bordure      5 pixels     couleur bord   couleur fond fen         1 17          DV       Xlib X Window       Selection des evenements    gerer     XSelectinput  mon display  ma vvindovv   ButtonPressMask    evenement de bouton de souris                  Enfin l affichage      la fen  tre  Avant on l avait seulement cr    e       Lorsque le serveur aura traite XMapVVindovv  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          monumentale application     XDestroyWindow  mon display  ma window    XCloseDisplay  mon display      void TraiteEvenement pt Evt   XEvent    pt          switch  pt Evt  type 1  case ButtonPress      Quand un bouton est enfonce  fini passe    vrai ce qui terminera  l application  OK      fini   VRAI   break        switch          TraiteEvenement       void erreur s t   char  5   t     printf  Erreur    s  s n  s t   exit 1 5              Pour compiler un programme Xlib mis dans le fichier         LES         first c  1X11  o first    1 18          DV    Xlib X Window  La boucle d  v  nements      v  nements   interruptions g  n  r 
5.  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 EvtATraiter   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                  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  ressent   XSelectInput display  Fen  MasqueEvt     1 19          DV          Xlib 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 1      envoy   pour c
6. XCreateGC display  RootWindow display  screen    GCForeground   GCLineWidth   amp ValeursGC         On peut d  sormais utiliser ce GC       Une variante plus lisible            GC                 XCreateGC display  RootWindow display  screen   0  NULL      XSetForeground display  gc  BlackPixel display                   XSetLineWidth display  gc  4         On peut d  sormais utiliser ce GC       La structure XGCValues  Les principaux champs      1 22    foreground   couleur du trait   background   couleur de fond   font   police de caract  res   line  vidth     paisseur de trait   line  style   style de trait   fill style   style de remplissage d   une zone  function   fonction de dessin             DV                Xlib X Window    La Couleur    La plupart des   crans actuels sont g  r  s    l aide d une  table de couleurs  colormap  look up table           Un point    l   cran  pixel  d  termine sa couleur    l aide  d un indice dans 1   table de couleurs     cet indice dans  la table se trouvent les caract  ristiques de la couleur   quantit   de rouge  vert  bleu   On    donc      101  100  011  010  001  000       O        A Un    Table de couleurs 1    Changer 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          DV    Xlib X W
7. 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  APT Unix  pour windows      X Window et Macintosh    Disponible       http   www apple com downloads macosx unix_ open  _source xfree86 html    1 26          DV    
8. ela   ventuellement  plusieurs Expose Event       fen  tre            fen  tre                fen  tre           Quand la fen  tre E passe      premier plan  elle re  oit des    v  nements Expose pour chaque zone d   intersection       fen  tre                1 20          DV    Xlib 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 pour un client et indiquer     chaque trac   quel GC on utilise     Cr  ation de contexte graphique  GC XCreateGC display  drawable   masque  AdrValeursGC       AdrValeursGC   adresse d   une structure qui contient  les param  tres graphiques      masque   identifie les param  tres utilis  s    1 21          DV    Xlib          X Window    Exemple d utilisation    GC        XGCValues ValeursGC     ValeursGC foreground   BlackPixel display  screen    ValeursGC line_ width   4     gc   
9. erreurs  ex   connexion non   tablie    1 10          DV    Xlib X Window    Transmission de messages X  protocolaires             Application Application       zone tampon  des requ  tes    File    v  nements      R  ception des    File   v  nements       requ  tes clients    du serveur X    1 11          DV    Xlib X Window         protocole asynchrone    Les requ  tes ne sont pas forc  ment envoy  es  imm  diatement         Serveur X Client X  R    Requ  te de connexion  t    R  ponse de    ____ 5  connexion R  a Requ  te de cr  ation de fen  tre  u Requ  te de cr  ation de GC  De Requ  te d affichage de fen  tre  SI  Ev  nement de  type expose       Requ  te d affichage de texte  BO              1 12          DV    Xlib X Window  Window Manager      chent particulier qui permet de    retailler les fen  tres    r  arranger les fen  tres sur l   cran    convertir 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  il  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          WM   retaillage  d   une fen  tre    xeyes       1    l utilisateur appuie sur la souris au bord           fen  tre  et d  place la souris    interruption  envoy  e au serveur  2    Le serveur re  o
10. ib X Window    Le syst  me graphique    X Window    JMF   DV    Xlib X Window    Introduction    Historique     d  velopp   au MIT en 1984  projet ATHENA      d  riv   du syst  me 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             DV    Xlib 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        permettent l      criture d  applications X Window    1 3          DV    Xlib X Window    Les fen  tres    Caract  ristiques    Zone rectangulaire compos  e de pixels      primitives de dessin qui modifient ces pixels  O    X       pe    y  root    Structure arborescente       Etat d   une fen  tre    ffichable visible totalement 
11. indow    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 1   table de couleurs    function   op  ration logique bit par bit    Mise    jour du champ function    XSetFunetion  display  go  fonction     Fonction logique D  finition   GXclear 0   GXand 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   GXorInverted  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          DV    Xlib X Window  Le champ function du GC   suite     Le r  sultat des couleur obtenue sera une op  ration  math  matique bit    bit   Ce n est pas du dessin d art      1 25          DV    Xlib X Window    Ou trouver X Window 2     Window et windows    Une implantation gratuite de X Window et disponible     partir de http   x cygwin com    le projet Cygwin X    Un excellent manuel d utilisation et d installation d  
12. it cette interruption  la  transforme   en   v  nement et l envoie au WM   3    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    1 13          DV    Xlib X Window    Remarques    Quand on lance un client sur une machine distante  1  faut avoir indiqu   sur quelle machine et            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 machine locale  Ceci est obtenue    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    xhos
13. t      1 14          DV    Xlib X Window         La    pile    X Window       l ours              Xt     Athena         SUN     MID    Xtoolkit  Xt     Xlib    I 15 JMF   DV    Xlib    X Window    Structure d un programme Xlib    1 16       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        le num  ro de l   cran o   se font les affichages    cr  er des fen  tres     mapping des fen  tres     s  lection des   v  nements    traiter     la boucle d   v  nements      lib  ration des ressources allou  es par le  programme                      DV    Xlib X Window  Exemple de programme    Ce programme cr  e une fen  tre  Quand on            sur  un bouton de la souris  l application se termine        Hinclude  lt stdio h gt   Hinclude  lt X11 Xlib h gt      define VRAI 1   define FAUX 0    int fini     main argc  argv   int             char    argv           Display    mon display    Window ma window    XEvent evenement    int mon ecran    unsigned long couleur bord  couleur fond fen   void                   void TraiteEvenemenit          Les initialisations necessaires     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
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
MB 120 D / MB 160 D MB 120 D  Rangemaster MN10101  Goodram P41  Installationsanleitung  USER MANUAL  Troy-Bilt 2600 PSI Pressure Washer User's Manual  Model 99 Cable Gun Lock HOW TO ATTACH AND  Bedienungsanleitung EB-GD70 Digital    "Printers" Common Criteria between Thailand Green Label and    Copyright © All rights reserved. 
   Failed to retrieve file