Scroll to navigation

XChangeWindowAttributes(3X11) XLIB FUNCTIONS XChangeWindowAttributes(3X11)

NOM

XChangeWindowAttributes, XSetWindowBackground, XSetWindowBackgroundPixmap, XSetWindowBorder, XSetWindowBorderPixmap, XSetWindowColormap - modification des attributs d'une fenêtre

SYNTAXE

XChangeWindowAttributes(display, f, masque, attributs)
Display *display;
Window f;
unsigned long masque;
XSetWindowAttributes *attributs;

XSetWindowBackground(display, f, pixel_arriere_plan)
Display *display;
Window f;
unsigned long pixel_arriere_plan;

XSetWindowBackgroundPixmap(display, f, pixmap_arriere_plan)
Display *display;
Window f;
Pixmap pixmap_arriere_plan;

XSetWindowBorder(display, f, pixel_bordure)
Display *display;
Window f;
unsigned long pixel_bordure;

XSetWindowBorderPixmap(display, f, pixmap_bordure)
Display *display;
Window f;
Pixmap pixmap_bordure;

XSetWindowColormap(display, f, palette_couleur)
Display *display;
Window f;
Colormap palette_couleur;

ARGUMENTS

Spécifie la structure dans laquelle les valeurs des attributs sont lues (en fonction du masque de valeurs). Le masque de valeurs doit avoir les bits appropriés positionnés pour indiquer quels attributs ont été renseignés dans la structure.
Spécifie la valeur des pixels de l'arrière-plan.
Spécifie le pixmap de l'arrière-plan, ParentRelative, ou None.
Spécifie la valeur des pixels de la bordure.
Spécifie le pixmap pour la bordure ou CopyFromParent.
Spécifie la connexion au serveur X.
Spécifie les attributs de la fenêtre qui sont définis dans l'argument attributs. Ce masque est la combinaison par un OU inclusif bit à bit des masques correspondant aux attributs valides. Si le masque vaut zéro, les attributs sont ignorés et ne sont pas référencés.
Spécifie la fenêtre.
Spécifie la palette de couleurs.

DESCRIPTION

En fonction du masque de valeurs, la fonction XChangeWindowAttributes utilise les valeurs des attributs renseignées dans la structure XSetWindowAttributes pour modifier les attributs de la fenêtre. Modifier l'arrière-plan n'entraîne pas un changement du contenu de la fenêtre. Pour reconstituer le dessin d'une fenêtre et de son arrière-plan, utiliser XClearWindow. Positionner la bordure ou modifier l'arrière-plan de telle sorte que l'origine du pavage de la bordure change, entraîne la reconsitution du dessin de la bordure. Changer l'arrière-plan d'une fenêtre racine à None ou ParentRelative restaure le pixmap d'arrière-plan par défaut. Changer la bordure d'une fenêtre racine à CopyFromParent restaure le pixmap de bordure par défaut. Changer le win-gravity (gravité relative à la fenêtre mère) n'affecte pas la position courante de la fenêtre. Changer le backing-store (mémorisation du contenu) d'une fenêtre masquée à WhenMapped ou Always, ou changer les backing-planes (plans mémorisés), backing-pixel (pixels mémorisés) ou save-under (mémorisation des parties masquées) d'une fenêtre affichée peut n'avoir aucun effet immédiat. Changer la palette de couleurs d'une fenêtre (c'est-à-dire, définir une nouvelle palette, et non modifier le contenu d'une palette existante) génère un événement ColormapNotify. Changer la palette de couleurs d'une fenêtre visible peut n'avoir aucun effet immédiat sur l'écran parce que la palette peut ne pas être installée (voir XInstallColormap). Changer le curseur d'une fenêtre racine à None restaure le curseur par défaut. Chaque fois qu'il est possible de le faire, il est encouragé de partager les palettes de couleurs.

Plusieurs clients peuvent sélectionner les événements sur une même fenêtre. Leurs masques d'événements sont maintenus séparément. Lorsqu'un événement est généré, il est notifié à tous les clients intéressés. Toutefois, un seul client à un instant donné peut sélectionner les événements pour SubstructureRedirectMask, ResizeRedirectMask et ButtonPressMask. Si plusieurs clients tentent de sélectionner n'importe lequel de ces masques d'événements, et si un autre client en a déjà sélectionné un, une erreur BadAccess est générée. Il n'y a qu'un seul do-not-propagate-mask (NDT. « masque-ne-pas-propager ») pour une fenêtre, et non un par client.

XChangeWindowAttributes peut générer les erreurs BadAccess, BadColor, BadCursor, BadMatch, BadPixmap, BadValue et BadWindow.

La fonction XSetWindowBackground positionne l'arrière-plan d'une fenêtre à la valeur de pixel spécifiée. Changer l'arrière-plan n'entraîne pas la modification du contenu de la fenêtre. XSetWindowBackground utilise un pixmap de taille indéfinie, rempli avec la valeur de pixel spécifiée en paramètre. Une tentative de modification de l'arrière-plan d'une fenêtre de classe InputOnly génère une erreur BadMatch.

XSetWindowBackground peut générer les erreurs BadMatch et BadWindow.

La fonction XSetWindowBackgroundPixmap affecte le pixmap spécifié à l'arrière-plan de la fenêtre. Le pixmap d'arrière-plan peut immédiatement être libéré si aucune référence explicite n'y est faite ultérieurement. Si la valeur ParentRelative est spécifiée, le pixmap d'arrière-plan de la fenêtre parente est utilisé, ou sur la fenêtre racine, l'arrière-plan par défaut est restauré. Une tentative pour changer l'arrière-plan d'une fenêtre de classe InputOnly génère une erreur BadMatch. Si l'arrière-plan est positionné à None, la fenêtre n'a plus d'arrière-plan défini.

XSetWindowBackgroundPixmap peut générer les erreurs BadMatch, BadPixmap et BadWindow.

La fonction XSetWindowBorder affecte la valeur de pixel spécifiée à la bordure de la fenêtre. Une tentative sur une fenêtre de classe InputOnly génère une erreur BadMatch.

XSetWindowBorder peut générer les erreurs BadMatch et BadWindow.

La fonction XSetWindowBorderPixmap affecte le pixmap spécifié à la bordure de la fenêtre. Le pixmap de bordure peut être libéré immédiatement si aucune référence explicite n'y est faite ultérieurement. Si on spécifie la valeur CopyFromParent, une copie du pixmap de la bordure de la fenêtre parente est utilisée. Une tentative sur une fenêtre de classe InputOnly génère une erreur BadMatch.

XSetWindowBorderPixmap peut générer les erreurs BadMatch, BadPixmap et BadWindow.

La fonction XSetWindowColormap affecte la palette de couleurs spécifiée à la fenêtre. La palette doit avoir le même type visuel que la fenêtre, sinon une erreur BadMatch est générée.

XSetWindowColormap peut générer les erreurs BadColor, BadMatch et BadWindow.

DIAGNOSTICS

Un client tente de libérer une cellule d'une palette de couleur qu'il n'a pas encore allouée.
Un client tente de modifier une cellule d'une palette de couleur non modifiable.
La valeur d'un argument Colormap (palette de couleurs) ne désigne pas une palette de couleurs définie.
La valeur d'un argument Cursor (curseur) ne désigne pas un curseur défini.
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.
Une fenêtre de classe InputOnly ne permet pas la modification de cet attribut.
La valeur d'un argument Pixmap ne désigne pas un pixmap défini.
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.
La valeur d'un argument Window ne désigne pas une fenêtre définie.

VOIR AUSSI

XConfigureWindow(3X11), XCreateWindow(3X11), XDestroyWindow(3X11), XInstallColormap(3X11), XMapWindow(3X11), XRaiseWindow(3X11), XUnmapWindow(3X11)
Xlib - C Language X Interface

TRADUCTION

Bertrand Duret, 2001.

Release 6.4 X Version 11