Previous Next Up Title Contents General Index Functions Index Bookshelf

1.9.3. ANIMATION

Lorsqu'il est nécessaire de réaliser une animation graphique dans un programme MOTIF, certaines difficultés apparaissent. En effet lorsque le programme est entré dans la Mainloop le seul moyen de réaliser l'animation est de boucler dans un callback, mais la mainloop n'est plus active et on se trouve donc bloqué en attendant la fin de l'animation.

Tant que la boucle d'animation n'est pas finie la MainLoop n'a pas la main et ne traite donc pas les événements X.

Pour résoudre ce problème le widget GPHIGS propose une fonction spécifique, GPHIGS_ANIM_CB.

Cette fonction doit être appelée dans un callback.

Exemple d'une activation de l'animation via un pushButton

XtAddCallBack(w, XmNactivateCallback, GPHIGS_ANIM_CB, fctUser)

w est le widget pushButton

XmNactivateCallback est le nom du callback pour le push button

fctUser est la fonction utilisateur qui réalise l'animation

Cette fonction (fctUser) ne réalisera qu'un seul pas d'animation.

La première pression sur le pushbutton activera l'animation, la seconde la désactivera, cette opération pouvant être répétée autant de fois que nécessaire.


Previous Next Up Title Contents General Index Functions Index Bookshelf