Cette fonction récupère un évènement dans la file d'attente, remplit en fonction de l'évènement récupéré une partie des paramètres de la fonction et renvoie un entier codant le type de l'évènement qui a été récupéré.
Le type des évènements est défini par :
MLV_Event
et peut valoir les valeurs suivantes:
Valeur ........... Signification
----------------------------------
MLV_NONE .......... Aucun évènement récupéré
MLV_KEY ........... Une touche du clavier a été appuyée ou
relachée.
MLV_INPUT_BOX ..... L'utilisateur a écrit une chaîne de
caractères et validé cette chaîne par
la touche entrée.
MLV_MOUSE_BUTTON .. Un des boutons de la souris a été
appuyé.
MLV_MOUS_MOTION ... La souris a été déplacée.
Voici un tableau qui donne les champs modifiés en fonction de l'évènement qui a été récupéré.
Type Évènement .... Paramètres modifiés
MLV_NONE .......... AUCUN
MLV_KEY ........... key_sym, key_mod, state
MLV_INPUT_BOX ..... texte, input_box
MLV_MOUSE_BUTTON .. mouse_x, mouse_y, mouse_button, state
MLV_MOUSE_MOTION .. mouse_x, mouse_y
L'utilisateur n'est pas obligé d'utiliser un champs s'il n'en a pas l'utilité. Dans ce cas, il peut mettre la valeur NULL. Le champs est alors ignoré.
- Bogue:
- Il est possible que la récuperation du caractère unicode sous Windows ne fonctionne pas bien. En effet, aucun code de portage spécifique n'a été fait à ce sujet.
- Bogue:
- Sous WINDOWS, le clavier est configuré en "qwerty".
- Renvoie
- La fonction renvoie un entier codant le type de l'évènement qui a été récupéré.
- Paramètres
-
key_sym | Code de la touche qui a été appuyée ou relachée. La valeur de ce champs est définie par l'énumération : MLV_Keyboard_button. |
key_mod | Mode dans lequel se trouve le clavier lorsqu'une touche est appuyée ou relachée. La valeur de ce champs est définie par l'énumération : MLV_Keyboard_modifier. |
unicode | Caractère codé en unicode de la lettre obtenue en combinant le code et le mode précédent |
texte | Texte récupéré par la boîte de saisie. L'allocation est affectée par la fonction elle-même. La désallocation est à la charge de l'utilisateur. |
input_box | La boîte de saisie qui a récupérée le texte |
mouse_x | Coordonnée en X de la position de la souris |
mouse_y | Coordonnée en Y de la position de la souris |
mouse_button | Bouton de la souris qui a été appuyé ou relaché. Ce champs est défini par l'énumération MLV_Mouse_button. |
state | Etat de la touche concernée par l'évènement. La valeur de ce champs est défini par l'énumération: MLV_Button_state. |
- Exemples:
- advanced/09_animation.c, advanced/11_animation_book.c, medium/01_keyboard_events.c, medium/02_mouse_events.c, medium/03_input_box_events.c, medium/04_events.c, et medium/06_colors.c.