right up left contents index
Précédent: "Fonctions permettant de contrôler la souris dans l'afficheur X11"
Suivant: "SpxRemoveCallback"
Haut: "Fonctions permettant de contrôler la souris dans l'afficheur X11"

SpxAddCallback 

void SpxAddCallback(Widget w,const char* reason,XtCallbackProc proc,
		XtPointer clientdata,SPXFILE* spx_file)

Cette fonction permet d'affecter un évènement lié à la souris à l'appel d'une fonction.

Widget est l'identificateur du Widget du client, utilisant la librairie Narcisse, au sens de la librairie Xt, fournie par le standard X11, dont on veut associer la fenêtre avec l'afficheur de Narcisse.

reason est le type d'évènement que l'on veut associer.

Les évènements possibles sont définis si on inclus narcisse.h dans l'application cliente :

-
SpxNenterAffCallback est l'évènement correspondant à l'entrée du curseur de la souris dans l'afficheur X11,
-
SpxNleaveAffCallback est l'évènement correspondant à la sortie du curseur de la souris dans l'afficheur X11,
-
SpxNbpressAffCallback est un évènement correspondant à une pression sur l'un des boutons de la souris dans l'afficheur X11,
-
SpxNbreleaseAffCallback est un évènement correspondant au relâchement d'un des boutons de la souris dans l'afficheur X11,
-
SpxNmnotifyAffCallback est un évènement correspondant au déplacement du curseur de la souris dans l'afficheur X11,
-
SpxNbpressbaseAffCallback est un évènement correspondant à une pression sur l'un des boutons de la souris dans l'afficheur X11,
-
SpxNbreleasebaseAffCallback est un évènement correspondant au relâchement d'un des boutons de la souris dans l'afficheur X11,
-
SpxNmnotifybaseAffCallback est un évènement correspondant au déplacement du curseur de la souris dans l'afficheur X11.

Pour les trois derniers évènements, les structures de données associées à l'évènements différent des trois précédentes.

proc est le nom de la procédure que l'on veut associer. Cette procédure doit avoir un prototype de la forme définie par XtCallbackProc dans l'include standard X11 Intrinsic.h, soit :

typedef void (*XtCallbackProc)(Widget wid,XtPointer clientdata,
XtPointer calldata)

cliendata est un pointeur sur une structure de données fournies par le client à l'appel de SpxAddCallback.

calldata est un pointeur sur une structure de donnée spécifique pour chaque type d'évènement.

Pour les évènements de types SpxNenterAffCallback et SpxNleaveAffCallback aucune structure de données spécifique n'est renvoyée.

Pour les évènements de types SpxNbpressAffCallback et SpxNbreleaseAffCallback, un pointeur sur la structure typedef struct { int x; int y; unsigned state; unsigned button; } SpxButtonCallbackStruct définie dans narcisse.h est envoyée à la procédure utilisateur proc comme paramêtre calldata. x et y sont donnés en pixels.

Pour les évènements de types SpxNbpressbaseAffCallback et SpxNbreleasebaseAffCallback, un pointeur sur la structure typedef struct { float x; float y; unsigned state; unsigned button; } SpxButtonBaseCallbackStruct définie dans narcisse.h est envoyée à la procédure utilisateur proc comme paramêtre calldata. x et y sont convertis dans l'espace utilisateur de l'image en cours.

Pour les évènements de types SpxNmnotifyAffCallback, un pointeur sur la structure typedef struct { int x; int y; unsigned state; } SpxMotionCallbackStruct définie dans narcisse.h est envoyée à la procédure utilisateur proc comme paramêtre calldata. x et y sont donnés en pixels.

Pour les évènements de types SpxNmnotifybaseAffCallback, un pointeur sur la structure typedef struct { float x; float y; unsigned state; } SpxMotionBaseCallbackStruct définie dans narcisse.h est envoyée à la procédure utilisateur proc comme paramêtre calldata. x et y convertis dans l'espace utilisateur de l'image en cours.

spx_file est le pointeur sur une connexion renvoyé par SpcOpen qui doit avoir été préalablement appelé.

right up left contents index
Précédent: "Fonctions permettant de contrôler la souris dans l'afficheur X11"
Suivant: "SpxRemoveCallback"
Haut: "Fonctions permettant de contrôler la souris dans l'afficheur X11"