Content-type: text/html Manpage of XCreateWindow

XCreateWindow

Section: XLIB FUNCTIONS (3X11)
Updated: Release 6.4
Index Return to Main Contents
 

NOM

XCreateWindow, XCreateSimpleWindow, XSetWindowAttributes - création de fenêtres et structure des attributs d'une fenêtre  

SYNTAXE

Window XCreateWindow(display, parent, x, y, largeur, hauteur, largeur_bord, profondeur,

                       classetype_visuelmasqueattributs)

      Display *display;

      Window parent;

      int xy

      unsigned int largeurhauteur;

      unsigned int largeur_bord;

      int profondeur;

      unsigned int classe;

      Visual *type_visuel

      unsigned long masque;

      XSetWindowAttributes *attributs;

Window XCreateSimpleWindow(display, parent, x, y, largeur, hauteur, largeur_bord,

                             bordurearrière-plan)

      Display *display;

      Window parent;

      int xy;

      unsigned int largeurhauteur;

      unsigned int largeur_bord;

      unsigned long bordure;

      unsigned long arrière-plan;  

ARGUMENTS

attributs
Spécifie la structure contenant les valeurs à considérer (selon le masque de valeurs spécifié). Les bits appropriés doivent être positionnés dans le masque de valeurs pour indiquer quels attributs ont été renseignés dans la structure.
arrière-plan
Spécifie la valeur des pixels pour l'arrière-plan de la fenêtre.
bordure
Spécifie la valeur des pixels pour la bordure de la fenêtre.
largeur_bord
Spécifie la largeur en pixels de la bordure de la fenêtre créée.
classe
Spécifie la classe de la fenêtre créée. Les valeurs possibles sont InputOutput, InputOnly, ou CopyFromParent. La valeur CopyFromParent signifie que la classe est héritée de la fenêtre parente.
profondeur
Spécifie la profondeur de la fenêtre. La valeur CopyFromParent signifie que la profondeur est héritée de la fenêtre parente.
display
Spécifie la connexion au serveur X.
parent
Spécifie la fenêtre parente.
masque
Spécifie quels attributs de la fenêtre sont définis par 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.
type_visuel
Spécifie le type visuel (codage des couleurs). La valeur CopyFromParent signifie que le type visuel est hérité de la fenêtre parente.
largeur

hauteur
Spécifie la largeur et la hauteur de la fenêtre créée. Ce sont les dimensions intérieures de la fenêtre ; elles n'incluent pas la bordure.
x

y
Spécifie les coordonnées x et y du coin supérieur gauche de la fenêtre dans le référentiel de sa fenêtre parente. Elles correspondent à la position du coin de la fenêtre extérieur à la bordure, par rapport au coin de la fenêtre parente intérieur à la bordure.
 

DESCRIPTION

La fonction XCreateWindow crée une fenêtre non affichée, fille de la fenêtre parente spécifiée. Elle retourne l'identifiant de la fenêtre créée (window ID) et provoque la génération d'un événement CreateNotify par le serveur X. La fenêtre créée est placée au sommet de la pile de ses fenêtres soeurs.

Le système de coordonnées comporte un axe X horizontal et un axe Y vertical, dont l'origine [0, 0] correspond au coin supérieur gauche. Les coordonnées sont entières, exprimées en pixels, et coïncident avec le centre des pixels. Chaque fenêtre ou pixmap possède son propre système de coordonnées. Pour une fenêtre, l'origine est à l'intérieur de la bordure dans le coin supérieur gauche.

Les fenêtres de classe InputOnly doivent être créées avec les paramètres largeur_bord et profondeur à zéro, et le type visuel doit être supporté par l'écran, sinon une erreur BadMatch est générée. La fenêtre parente peut avoir une profondeur et une classe quelconque. Pour une fenêtre de classe InputOutput, le type visuel et la profondeur doivent correspondre à une combinaison supportée par l'écran, sinon une erreur BadMatch est générée. La profondeur ne doit pas nécessairement être la même que celle de la fenêtre parente, mais celle-ci ne peut être une fenêtre de classe InputOnly, sinon une erreur BadMatch est générée. Si un attribut invalide est spécifié pour une fenêtre, une erreur BadMatch est générée.

Lors de la création, la fenêtre n'est pas affichée (mapped) sur le périphérique d'affichage de l'utilisateur. Pour afficher la fenêtre, il faut appeler la fonction XMapWindow. La fenêtre créée utilise initialement le même curseur que sa fenêtre parente. Un autre curseur peut être associé à la fenêtre en appelant la fonction XDefineCursor. La fenêtre sera visible sur l'écran si elle et toutes ses ancêtres sont affichées et qu'aucune de ses ancêtres ne la cache. Toute partie de la fenêtre qui déborde de sa fenêtre parente est tronquée.

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

La fonction XCreateSimpleWindow crée une fenêtre non affichée, fille de la fenêtre parente spécifiée et de classe InputOutput. Elle retourne l'identifiant de la fenêtre créée (window ID) et provoque la génération d'un événement CreateNotify par le serveur X. La fenêtre créée est placée au sommet de la pile de ses fenêtres soeurs. La profondeur, la classe et le type visuel d'une fenêtre créée par XCreateSimpleWindow sont hérités de la fenêtre parente. Tous les autres attributs de la fenêtre ont leur valeur par défaut, exceptés l'arrière-plan et la bordure.

XCreateSimpleWindow peut générer les erreurs BadAlloc, BadMatch, BadValue, et BadWindow.  

STRUCTURES

La structure XSetWindowAttributes contient les membres :


typedef struct {
     Pixmap background_pixmap;
          /* arrière-plan, None, ou ParentRelative */
     unsigned long background_pixel;
          /* valeur des pixels de l'arrière-plan */
     Pixmap border_pixmap;
          /* bordure de la fenêtre ou CopyFromParent */
     unsigned long border_pixel;
          /* valeur des pixels de la bordure */
     int bit_gravity;
          /* une des valeurs des bits de gravité */
     int win_gravity;
          /* une des valeurs de gravité de fenêtre */
     int backing_store;
          /* NotUseful, WhenMapped, Always */
     unsigned long backing_planes;
          /* plans à mémoriser si possible */
     unsigned long backing_pixel;
          /* valeur de pixel à utiliser lors de la restauration des plans */
     Bool save_under;
          /* les bits sous la fenêtre doivent-ils être mémorisés ? (popups) */
     long event_mask;
          /* jeu d'événements devant être conservés */
     long do_not_propagate_mask;
          /* jeu d'événements ne devant pas être propagés */
     Bool override_redirect;
          /* valeur booléenne pour override_redirect (gestionnaire de fenêtre) */
     Colormap colormap;
          /* palette de couleur associée à la fenêtre */
     Cursor cursor;
          /* curseur affiché (ou None) */
} XSetWindowAttributes;


Pour une description détaillée des membres de cette structure, on se reportera à Xlib - C Language X Interface.

Bits du masque de valeurs pour les attributs de fenêtre :
#define CWBackPixmap (1L<<0)
#define CWBackPixel (1L<<1)
#define CWBorderPixmap (1L<<2)
#define CWBorderPixel (1L<<3)
#define CWBitGravity (1L<<4)
#define CWWinGravity (1L<<5)
#define CWBackingStore (1L<<6)
#define CWBackingPlanes (1L<<7)
#define CWBackingPixel (1L<<8)
#define CWOverrideRedirect (1L<<9)
#define CWSaveUnder (1L<<10)
#define CWEventMask (1L<<11)
#define CWDontPropagate (1L<<12)
#define CWColormap (1L<<13)
#define CWCursor (1L<<14)

 

DIAGNOSTICS

BadAlloc
Le serveur a échoué dans l'allocation de la ressource ou de la mémoire serveur requise.
BadColor
La valeur d'un argument Colormap (palette de couleur) ne désigne pas une palette de couleur définie.
BadCursor
La valeur d'un argument Cursor (curseur) ne désigne pas un curseur défini.
BadMatch
Les valeurs n'existent pas pour une fenêtre de classe InputOnly.
BadMatch
Des arguments ou paires d'arguments ont des types et des valeurs correctes, mais ne satisfont pas à d'autres contraintes induites par la requête.
BadPixmap
La valeur d'un argument Pixmap ne désigne pas une pixmap définie.
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.
BadWindow
La valeur d'un argument Window (fenêtre) ne désigne pas une fenêtre définie.
 

VOIR AUSSI

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

TRADUCTION

Bertrand Duret, 2001.


 

Index

NOM
SYNTAXE
ARGUMENTS
DESCRIPTION
STRUCTURES
DIAGNOSTICS
VOIR AUSSI
TRADUCTION

This document was created by man2html, using the manual pages.
Time: 21:37:51 GMT, July 10, 2005