G_USERDEF


Les USERDEF (aussi appelé PROGDEF) sont des objets dont la fonction de dessin est laissé à la discrétion du programmeur. L'ob_spec pointe sur une structure un peu spéciale qui contient elle même deux pointeurs :

typedef struct userdef_bloc {
	param_bloc	*params;	// pointeur sur la structure de paramètres
	void		*routine;	// pointeur sur la fonction de redraw
}


Il est fortement conseillé d'utiliser la VDI pour créer le dessin de l'objet, sans quoi il est fort probable que votre fonction ne marchera pas dans toutes les résolutions écran.

Le bloc de paramètres est défini comme il suit, et est remplis par l'AES lors de l'appel … la routine de redraw :
typedef struct params_userdef {
	object		*pb_tree;	// pointeur sur le 1er objet de l'arbre
	unsigned short	pb_objc;	// index de l'objet concerné
	unsigned short	pb_prevstate;	// ancien ob_state de l'objet a dessiné
	unsigned short	pb_currstate;	// nouvel ob_state de l'objet a dessiné
	unsigned short	pb_x;		// coordonn‚e ‚cran en X...
	unsigned short	pb_y;		// ...Y...
	unsigned short	pb_w;		// ...largeur...
	unsigned short	pb_h;		// ...et hauteur
	unsigned short	pb_xc;		// Rectangle...
	unsigned short	pb_yc;		// ...utilisé...
	unsigned short	pb_wc;		// ...pour le...
	unsigned short	pb_hc;		// ...clipping
} params_block;


A la sortie de votre fonction, vous devez retourner un masque de bit représentant ceux dont vous désirer que l'AES dessine (exemple : si le bit DISABLED positionné, l'AES rajoutera une trame par dessus l'objet).

Retour à l'index G_ICON et G_CICON