Bonjour, merci d'avoir répondu.
Tout d'abord, j'ai bien une instruction XtAddEventHandler mais elle appelle une callback qui ne contient que des instructions XClearWindow et XDrawString, donc pas de lien ici avec "mycallback".
Je faisais le lien entre "mycallback" et l'action drag car des traces placées dans "mycallback" s'affiche lors du drag (à chaque delta de la souris).
Si j'ai compris, event->xbutton.button donne le bouton de la souris. La callback "mycallback" en a besoin car elle traite plusieurs types d'actions et tous les boutons de la souris.
Dans mon cas, je constate sous Linux que :
bouton gauche appuyé : event->xbutton.button =1
drag avec bouton gauche appuyé : event->xbutton.button =0
bouton gauche relaché : event->xbutton.button =1
sous HP-UX :
bouton gauche appuyé : event->xbutton.button =1
drag avec bouton gauche appuyé : event->xbutton.button =1
bouton gauche relaché : event->xbutton.button =1
Quant à l'instruction :
XButtonEvent *sevent=(XButtonEvent *)call_data->event ;
il y a une erreur de compil. sur event : "request for member "event" in something not a structure or union".
Pour rappel, l'instruction qui fait appelle à la callback est :
XtAddCallback(drawing_a,XmNinputCallback,mycallback,drawing_a)
Cordialement
Partager