Documentation de la bibliothèque MLV-2.0.2

MLV_Event MLV_get_event ( MLV_Keyboard_button key_sym,
MLV_Keyboard_modifier key_mod,
int *  unicode,
char **  texte,
MLV_Input_box **  input_box,
int *  mouse_x,
int *  mouse_y,
MLV_Mouse_button mouse_button,
MLV_Button_state state 
)

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_symCode 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_modMode 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.
unicodeCaractère codé en unicode de la lettre obtenue en combinant le code et le mode précédent
texteTexte 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_boxLa boîte de saisie qui a récupérée le texte
mouse_xCoordonnée en X de la position de la souris
mouse_yCoordonnée en Y de la position de la souris
mouse_buttonBouton de la souris qui a été appuyé ou relaché. Ce champs est défini par l'énumération MLV_Mouse_button.
stateEtat 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.