Créer une fenêtre avec la xlib (tout os à base d'unix (linux, freebsd ....))

Contenu du snippet

Bon, le titre dis tout. Si vous ne savez pas ce qu'est la Xlib, c'est une librairie graphique bas niveau utilisée sous UNIX. A la différence de QT et GTK (dites de haut niveau) elle a l'avantage de pouvoir produire un code plus court et plus rapide. C'est par exemple très bien pour développer un jeu.
Voila, su vous voulez en savoir plus y'a pas mal de doc sur le web.

Source / Exemple :


#include <X11/Xlib.h>   // Header de la Xlib

int main()
{
  Display* ConnectionServeurX = XOpenDisplay(NULL);    // Connection au serveur X

  int CouleurBlanche = WhitePixel(ConnectionServeurX, DefaultScreen(ConnectionServeurX));   // déclaration d'une couleur blanche

  Window Fenetre = XCreateSimpleWindow(ConnectionServeurX,
				      RootWindow(ConnectionServeurX,DefaultScreen(ConnectionServeurX)),
				      0,0,200,100,0,CouleurBlanche,CouleurBlanche);    // Création d'un fenêtre de coordonnées 0,0 et de 200 sur 200, de couleur de fond blanche et bordure blanche
  XMapWindow(ConnectionServeurX, Fenetre);       // Mapping de la fenêtre
  XSelectInput(ConnectionServeurX, Fenetre,KeyPressMask);       // On séelectionne les évennements utiles , KeyPressMask pour capturer un événement clavier

  XEvent Evenement;        // déclaration d'u événement
  do {
    XNextEvent(ConnectionServeurX, &Evenement);
    XFlush(ConnectionServeurX);
  } while(Evenement.type != KeyPress);   // afficher la fenêtre tant qu'aucune touche n'est pressée

  return 0;
}

Conclusion :


Voila, si vous avez des remarques ou questions n'hésitez pas !!!
Bouba

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.