Previous Next Up Title Contents General Index Functions Index Bookshelf

7. ATTRIBUTS GRAPHIQUES DES STRUCTURES


Ce chapitre regroupe l'ensemble des fonctions de PHIGURE permettant de positionner des attributs graphiques dans une structure générée par PHIGURE. Ces attributs sont identiques à ceux traités par la norme PHIGS, comme par exemple la couleur de polyligne, la couleur de texte, la taille d'une marque, etc...Ces fonctions de PHIGURE sont ainsi complémentaires à celles déjà existantes de le norme PHIGS.

Chacune de ces fonctions ouvre une structure donnée, et un insère, à un label donné dans la structure un élément correspondant à l'attribut souhaité. Si il existe déja dans la structure un élément de même type après le label, alors le nouvel élémént ne sera pas inséré mais il remplacera celui déja existant.

Exemple d'utilisation : positionnement de couleurs

Supposons que PHIGURE crée une structure d'identificateur strid représentant un ensemble de flèches, un cadre et un texte. On suppose que chaque flèche est composée d'un polyline et d'un fill area représentant sa pointe, et que le cadre est composé d'un polyline. Enfin, on suppose que l'organisation de la structure est la suivante

LABEL -1

liste des primitives polyline des traits de flèche

LABEL -2

liste des primitives fill area des pointes de chaque flèche

LABEL -3

primitive polyline du cadre

LABEL -4

primitive text du texte

Si on veut donner la couleur 2 aux traits de chaque flèche, la couleur 6 au cadre, la couleur 7 aux pointes de chaque flèche et la couleur 3 au texte, on pourra utiliser la séquence suivante après la création de la structure strid :

tset_line_colr_ind (strid, -1, 2); /* couleur 2 aux traits de flèches */

tset_line_colr_ind (strid, -3, 6); /* couleur 6 au cadre */

tset_int_colr_ind (strid, -2, 7); /* couleur 7 aux pointes de flèche */

tset_text_colr_ind (strid, -4, 3); /* couleur 3 au texte */

Sachant qu'un attribut de primitive est valable pour toutes les primitives qui suivent dans la structure jusqu'à la rencontre d'une nouvelle valeur de cet attribut, on obtient les mêmes couleurs par les appels suivants :

tset_line_colr_ind (strid, -1, 2); /* couleur 2 aux traits de flèches */

tset_line_colr_ind (strid, -3, 6); /* couleur 6 au cadre */

tset_int_colr_ind (strid, -1, 7); /* couleur 7 aux pointes de flèche */

tset_text_colr_ind (strid, -1, 3); /* couleur 3 au texte */

De plus sachant que toute structure PHIGURE commence par le LABEL 0 (cf [section] Création de la scène) la référence au LABEL -1 dans ces 4 appels peut être remplacée par une référence au LABEL 0 : la séquence d'appels suivant donne toujours les mêmes couleurs:

tset_line_colr_ind (strid, 0, 2); /* couleur 2 aux traits de flèches */

tset_line_colr_ind (strid, -3, 6); /* couleur 6 au cadre */

tset_int_colr_ind (strid, 0, 7); /* couleur 7 aux pointes de flèche */

tset_text_colr_ind (strid, 0, 3); /* couleur 3 au texte */

Si la couleur du cadre devait aussi être la couleur 2, le deuxième appel de tset_line_colr_ind est inutile.


Previous Next Up Title Contents General Index Functions Index Bookshelf