zion - XConfigureWindow
'" t .ds xT X Toolkit Intrinsics - C Language Interface .ds xW Athena X Widgets - C Language X Toolkit Interface .ds xL Xlib - C Language X Interface .ds xC Inter-Client Communication Conventions Manual .na .de Ds .nf .ft 1 .. .de De .ce 0 .if
(BD .DF .nr BD 0 .in
(OIu .if
(TM .ls 2
(DDu .fi .. .de FD
.KS .TA .5i 3i .ta .5i 3i .nf .. .de FN .fi .KE
Nom
XConfigureWindow, XMoveWindow, XResizeWindow, XMoveResizeWindow, XSetWindowBorderWidth, XWindowChanges - configuration de fenêtre et structure des modifications de fenêtre
Syntaxe
XConfigureWindow^(^display, f^, masque^, valeurs^) Display *display^; Window f^; unsigned int masque^; XWindowChanges *valeurs^;
XMoveWindow^(^display, f^, x^, y^) Display *display^; Window f^; int x^, y^;
XResizeWindow^(^display, f^, largeur^, hauteur^) Display *display^; Window f^; unsigned int largeur^, hauteur^;
XMoveResizeWindow^(^display, f^, x^, y^, largeur^, hauteur^) Display *display^; Window f^; int x^, y^; unsigned int largeur^, hauteur^;
XSetWindowBorderWidth^(^display, f, largeur_bordure^) Display *display^; Window f^; unsigned int largeur_bordure^;
Arguments
display 1i
Spécifie la connexion au serveur X. |
masque 1i
Spécifie les valeurs de la fenêtre qui sont définies dans l'argument valeurs. Ce masque est la combinaison par un OU inclusif bit à bit des masques correspondant aux valeurs valides. Si le masque vaut zéro, les valeurs sont ignorées et ne sont pas référencées. |
valeurs 1i
Spécifie la structure .ZN XWindowChanges . .ds Wi à configurer, déplacer ou dimensionner |
f 1i
Spécifie la fenêtre *(Wi. |
largeur_bordure 1i
Spécifie la largeur de la bordure de la fenêtre. .ds Wh , qui sont les dimensions intérieures de la fenêtre |
largeur 1i
.ns |
hauteur 1i
Spécifient la largeur et la hauteur*(Wh. .ds Xy , qui définissent le nouvel emplacement du pixel supérieur-gauche de la bordure de la fenêtre ou de la fenêtre elle-même si elle n'a pas de bordure ou définissent la nouvelle position de la fenêtre relativement à sa fenêtre mère |
x 1i
.ns |
y 1i
Spécifient les coordonnées x et y*(Xy. |
Description
La fonction .ZN XConfigureWindow utilise les valeurs spécifiées dans la structure .ZN XWindowChanges pour reconfigurer la taille, la position, la bordure et le niveau dans la pile de la fenêtre. Les valeurs non spécifiées sont reprises de la géométrie courante de la fenêtre.
Si une fenêtre soeur est spécifiée sans stack_mode (mode d'empilement) ou si la fenêtre n'est pas en réalité une fenêtre soeur, une erreur .ZN BadMatch est générée. Noter que les calculs pour .ZN BottomIf , .ZN TopIf , et .ZN Opposite sont effectués selon la géométrie finale de la fenêtre (telle qu'elle est décrite par les autres arguments passés à .ZN XConfigureWindow ), et non selon sa géométrie initiale. Les contenus mémorisés (backing store) de la fenêtre, de ses descendantes et de toute fenêtre nouvellement visible sont soit perdus soit modifiés pour refléter les contenus présents sur l'écran (selon l'implémentation).
.ZN XConfigureWindow peut générer les erreurs .ZN BadMatch , .ZN BadValue , et .ZN BadWindow .
La fonction .ZN XMoveWindow déplace la fenêtre spécifiée aux coordonnées x et y spécifiées, mais ne change ni sa taille, ni son statut d'affichage et ne modifie pas sa position dans la pile. Déplacer une fenêtre affichée peut éventuellement provoquer la perte de son contenu si elle est cachée par une fenêtre non fille et si aucun contenu mémorisé n'existe. Si le contenu de la fenêtre est perdu, le serveur X génère des événements .ZN Expose . Déplacer une fenêtre affichée provoque la génération d'événements .ZN Expose pour toute fenêtre précédemment cachée.
Si le flag override-redirect (NDT. « surcharge-de-la-redirection ») de la fenêtre est .ZN False et si un autre client a sélectionné .ZN SubstructureRedirectMask sur la fenêtre parente, le serveur X génère un événement .ZN ConfigureRequest et aucun traitement supplémentaire n'est réalisé. Sinon, la fenêtre est déplacée.
.ZN XMoveWindow peut générer une erreur .ZN BadWindow .
La fonction .ZN XResizeWindow modifie les dimensions intérieures de la fenêtre spécifiée, sans inclure ses bords. Cette fonction ne change pas les coordonnées du point supérieur-gauche ou l'origine et ne change pas le niveau de la fenêtre dans la pile. Modifier la taille d'une fenêtre affichée peut conduire à la perte de son contenu et générer des événements .ZN Expose . Si une fenêtre affichée est rendue plus petite, modifier sa taille génère des événements .ZN Expose sur les fenêtres qu'elle cachait précédemment.
Si le flag override-redirect de la fenêtre est .ZN False et si un autre client a sélectionné .ZN SubstructureRedirectMask sur la fenêtre parente, le serveur X génère un événement .ZN ConfigureRequest et aucun traitement supplémentaire n'est réalisé. Si la largeur ou la hauteur valent zéro, une erreur .ZN BadValue est générée.
.ZN XResizeWindow peut générer des erreurs .ZN BadValue et .ZN BadWindow .
La fonction .ZN XMoveResizeWindow modifie la taille et l'emplacement de la fenêtre spécifiée sans changer son niveau dans la pile. Déplacer et redimensionner une fenêtre affichée peut générer un événement .ZN Expose sur la fenêtre. Selon les nouvelles taille et position passées en paramètre, déplacer et redimensionner une fenêtre peut générer des événements .ZN Expose sur les fenêtres qu'elle cachait précédemment.
Si le flag override-redirect de la fenêtre est .ZN False et si un autre client a sélectionné .ZN SubstructureRedirectMask sur la fenêtre parente, le serveur X génère un événement .ZN ConfigureRequest et aucun traitement supplémentaire n'est réalisé. Sinon, la taille et la position de la fenêtre sont modifiées.
.ZN XMoveResizeWindow peut générer des erreurs .ZN BadValue et .ZN BadWindow .
La fonction .ZN XSetWindowBorderWidth change la largeur de la bordure de la fenêtre spécifiée en lui donnant la valeur spécifiée.
.ZN XSetWindowBorderWidth peut générer une erreur .ZN BadWindow .
Structures
La structure .ZN XWindowChanges contient :
/* Bits du masque de valeurs de configuration d'une fenêtre */ .TS lw(.5i) lw(2.5i) lw(.8i). T{ #define T} T{ .ZN CWX T} T{ (1<<0) T} T{ #define T} T{ .ZN CWY T} T{ (1<<1) T} T{ #define T} T{ .ZN CWWidth T} T{ (1<<2) T} T{ #define T} T{ .ZN CWHeight T} T{ (1<<3) T} T{ #define T} T{ .ZN CWBorderWidth T} T{ (1<<4) T} T{ #define T} T{ .ZN CWSibling T} T{ (1<<5) T} T{ #define T} T{ .ZN CWStackMode T} T{ (1<<6) T} .TE .IN "XWindowChanges" "" "@DEF@" .Ds 0 .TA .5i 3i .ta .5i 3i /* Valeurs */ typedef struct { int x, y; int width, height; int border_width; Window sibling; int stack_mode; } XWindowChanges; .De
Les membres x et y sont utilisés pour modifier les coordonnées x et y de la fenêtre, qui sont relatives à l'origine de sa fenêtre parente et indiquent la position du coin extérieur supérieur-gauche de la fenêtre. Les membres width (largeur) et height (hauteur) sont utilisés pour modifier les dimensions intérieures de la fenêtre, sans inclure la bordure, et doivent être non nuls, sinon une erreur .ZN BadValue est générée. Une tentative de configuration de la fenêtre racine n'a aucun effet.
Le membre border_width est utilisé pour modifier la largeur de la bordure (exprimée en pixels). Noter que modifier uniquement la largeur de la bordure ne change pas la position du coin extérieur supérieur-gauche de la fenêtre mais change la position absolue de l'origine de la fenêtre. Si l'on essaie de fixer l'attribut border-width d'une fenêtre de classe .ZN InputOnly à une valeur non nulle, une erreur .ZN BadMatch est générée.
Le membre sibling (fenêtre soeur) est utilisé pour déterminer la fenêtre soeur de référence pour la modification de l'empilement. Le stack_mode (mode d'empilement) est utilisé pour déterminer comment l'empilement de la fenêtre sera modifié et peut valoir .ZN Above , .ZN Below , .ZN TopIf , .ZN BottomIf , ou .ZN Opposite .
Diagnostiques
.ZN BadMatch Une fenêtre de classe .ZN InputOnly est utilisée à la place d'un Drawable. |
.ZN BadMatch Des arguments ou paires d'arguments ont des types et des valeurs corrects, mais ne satisfont pas à d'autres contraintes induites par la requête. |
.ZN BadValue Des valeurs numériques sont hors des limites autorisées par la requête. Sauf précision contraire, toutes les valeurs permises par le type d'un argument sont acceptées par une requête. Un argument défini par une énumération de valeurs peut générer cette erreur. |
.ZN BadWindow La valeur d'un argument Window ne désigne pas une fenêtre définie. |
Voir aussi
XChangeWindowAttributes(3X11), XCreateWindow(3X11), XDestroyWindow(3X11), XMapWindow(3X11), XRaiseWindow(3X11), XUnmapWindow(3X11) *(xL
Traduction
Bertrand Duret, 2001.
Poster un commentaire