next up previous
Next: Code source du programme Up: Application dans Xspect Previous: Application dans Xspect

Remarques sur XAllocColorCells

Outre l'allocation de couleurs dans une palette, cette fonction nous permet de superposer des couches graphiques sans les détruire. Cette méthode permet d'améliorer les performances du programme en réduisant le nombre de graphiques complexes à réafficher. Elle est donc particulièrement utile lors des sélections.

L'astuce permettant de dessiner sans détruire ce qui a déjà été dessiné repose sur le fait que l'on peut dessiner sur un plan de la zone graphique. Cela est possible en utilisant le composant plane_mask du contexte graphique. Ce sont ces autres plans qui contiennent les informations de ce qui a déjà été dessiné. L'inconvénient de cette méthode est qu'elle nous oblige à allouer plus de couleurs que nous aurions normalement besoin.

Arguments

XAllocColorCells(display, colormap, contig, plane_masks_return, 
                 nplanes, pixels_return,npixels)
        Display *display;
        Colormap colormap;
        Bool contig;
        unsigned long plane_masks_return[];
        unsigned int nplanes;
        unsigned long pixels_return[];
        unsigned int npixels;

display :
Spécifie la connection au Serveur X.
colormap :
Spécifie la palette à désinstaller.
contig :
Valeur booléenne indiquant que les plans soint contiguës ou non..
plane_masks_return :
Renvoie un tableau des masques des plans.
nplanes :
Indique le nombre de plans dans le tableau précédent.
pixels_return :
Renvoie un tableau de pixels.
npixels :
Indique le nombre de pixels.



Gauthier Lebrun
Fri Apr 18 17:58:46 MET DST 1997