Previous Next Up Title Contents General Index Functions Index Bookshelf

ATTRIBUT FORMAT D'ÉCRITURE SUR UN AXE LINÉAIRE

tset_axis_format


SEQUENCE D'APPEL

void tset_axis_format (strid, write_format)

PARAMETRES EN ENTREE

Pint	strid;
Tformat	*write_format

ARGUMENTS

strid
Identificateur de la structure de l'axe
write_format
description du format d'écriture des graduations

TYPES

typedef enum {
	TFORMAT_AUTO,
	TFORMAT_FLOAT,
	TFORMAT_INT
} Tformat_type;

typedef strcut {
	Tformat_type	type;
	union {
		struct {
			Pint	width;	/* obsolette */
			Pint	num_decimals;
			Pint	ten_power;
		} float_format;
		struct {
			Pint	width;	/* obsolette */
			Pint	ten_power;
		} int_format;
	} description;
} Tformat ;

EFFET

Cette fonction positionne les attributs relatifs au format d'écriture commun à toutes les graduations de l'axe linéaire d'identificateur strid. Cette fonction n'aura aucun effet si strid ne correspond pas à un axe linéaire.

Si write_format->type = TFORMAT_AUTO

Le format d'écriture est choisi au mieux en fonction des valeurs aux deux extrémités de l'axe. Toute décimale superflue, ainsi que tout zéro superflu après une virgule seront supprimés. S'il n'y a aucune décimale nécessaire après la virgule, les graduations seront écrites sous un format entier. D'une façon générale, le format automatique privilégie l'aspect esthétique des graduations sur l'axe, et minimise le nombre de chiffres de ces graduations. Ces dernières seront systèmatiquement comprises entre 0.01 et 1000. Si les bornes de l'axe dépasse cet intervalle, une puissance de 10 (représentant un facteur multiplicatif) sera reporté à l'extrémité de l'axe, à côté de la flèche. La puissance de 10 est toujours un multiple de 3 (positif ou négatif).

Si write_format->type= TFORMAT_FLOAT

float_format.num_decimals représente le nombre de décimales après la virgule, et float_format.ten_power la puissance de 10 choisie. Néanmoins, cette puissance ne sera pas appliquée pour chacune des graduations mais sera seulement reportée à l'extrémité de l'axe à côté de la flèche et représentera un facteur multiplicatif.

Si write_format->type = TFORMAT_INT

Pour le format entier, il est aussi possible de reporter une puissance de 10 int_format.ten_power. De même, cette puissance ne sera pas appliquée pour chacune des graduations mais sera seulement reportée à l'extrémité de l'axe à côté de la flèche et représentera un facteur multiplicatif.


Previous Next Up Title Contents General Index Functions Index Bookshelf