table of contents
XMapWindow(3X11) | XLIB FUNCTIONS | XMapWindow(3X11) |
NOM¶
XMapWindow, XMapRaised, XMapSubwindows - affichage de fenêtres
SYNTAXE¶
XMapWindow(display, f)
Display *display;
Window f;
XMapRaised(display, f)
Display *display;
Window f;
XMapSubwindows(display, f)
Display *display;
Window f;
ARGUMENTS¶
DESCRIPTION¶
La fonction XMapWindow affiche la fenêtre et toutes ses fenêtres filles qui ont fait l'objet d'une requête d'affichage. Demander l'affichage d'une fenêtre qui est descendante d'une fenêtre non affichée ne l'affiche pas. En revanche, elle sera affichée lorsque son ancêtre le sera également. Une telle fenêtre est dite non « visualisable ». Lorsque toutes les fenêtres ancêtres sont affichées, la fenêtre devient « visualisable » et est visible sur l'écran si elle n'est pas masquée par une autre fenêtre. Cette fonction n'a aucun effet si la fenêtre est déjà affichée.
Si l'attribut override-redirect de la fenêtre vaut False et si un autre client a sélectionné SubstructureRedirectMask sur la fenêtre parente, alors le serveur X génère un événement MapRequest et la fonction XMapWindow n'affiche pas la fenêtre. Sinon, la fenêtre est affichée et le serveur X génère un événement MapNotify.
Si la fenêtre devient « visualisable » et qu'aucun contenu n'est mémorisé, le serveur X remplit la fenêtre avec son arrière-plan. Si l'arrière-plan de la fenêtre est indéfini, le contenu existant de l'écran n'est pas modifié et le serveur X génère zéro ou plusieurs événements Expose. Si le contenu a été conservé pendant que la fenêtre n'était pas affichée (backing_store vaut Always), aucun événement Expose n'est généré. Si le contenu est à présent conservé (backing_store vaut WhenMapped), une requête d'exposition pour toute la fenêtre est toujours générée. Sinon, des requêtes d'exposition sont générées pour les seules parties visibles. Un remplissage et des requêtes d'exposition similaires ont lieu pour toute fenêtre descendante nouvellement « visualisable ».
Si la fenêtre est de classe InputOutput, XMapWindow génère des événements Expose sur chaque fenêtre de classe InputOutput dont elle provoque l'affichage. Si le client affiche et dessine la fenêtre, puis commence à traiter les événements, la fenêtre est dessinée deux fois. Pour éviter cela, il faut solliciter les événements Expose puis afficher la fenêtre, ainsi le client traite les événements d'entrée comme d'habitude. La liste des événements inclut l'événement Expose pour chaque fenêtre qui est apparue sur l'écran. La réponse normale à un événement Expose devrait être de dessiner la fenêtre. Cette méthode induit habituellement un programme plus simple et des interactions correctes avec les gestionnaires de fenêtres.
XMapWindow peut générer une erreur BadWindow.
La fonction XMapRaised est similaire à la fonction XMapWindow dans la mesure où elle affiche la fenêtre et toutes ses descendantes qui on fait l'objet d'une requête d'affichage. Cependant, elle élève également la fenêtre spécifiée au sommet de la pile.
XMapRaised peut générer une erreur BadWindow.
La fonction XMapSubwindows affiche les fenêtres filles d'une fenêtre spécifiée dans l'ordre inverse d'empilement (de haut en bas). Le serveur X génère un événement Expose sur chaque fenêtre nouvellement affichée et visible. Cette méthode est plus performante que d'afficher plusieurs fenêtres une par une parce que le serveur réalise la majorité du traitement une seule fois, pour l'ensemble des fenêtres, plutôt que pour chacune d'entre elles.
XMapSubwindows peut générer une erreur BadWindow.
DIAGNOSTICS¶
- BadWindow
- La valeur d'un argument Window ne désigne pas une fenêtre définie.
VOIR AUSSI¶
XChangeWindowAttributes(3X11), XConfigureWindow(3X11),
XCreateWindow(3X11), XDestroyWindow(3X11), XRaiseWindow(3X11),
XUnmapWindow(3X11)
Xlib - C Language X Interface
TRADUCTION¶
Bertrand Duret, 2001
Release 6.4 | X Version 11 |