---
name: "MLV_event.h"
section: "3"
platform: "linux"
package: "libmlv3-dev"
version: "3.1.0-8"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/MLV_event.h"
---

# MLV\_event.h(3)

Ce fichier définit les prototypes des fonctions permettant d'utiliser les évènements dans la bibliothèque MLV.

## NAME

MLV\_event.h - Ce fichier définit les prototypes des fonctions permettant d'utiliser les évènements dans la bibliothèque MLV.

## SYNOPSIS

### Énumérations

enum **MLV\_Event** { **MLV\_NONE** = 0, **MLV\_KEY** = 1, **MLV\_INPUT\_BOX** = 2, **MLV\_MOUSE\_BUTTON** = 3, **MLV\_MOUSE\_MOTION** = 4 }\
 Énumère les différents types d'évènement de la bibliothèque MLV.

### Fonctions

**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é.  **MLV\_Event** **MLV\_wait\_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 suspends l'éxecution du programme jusqu'à ce qu'un évènement apparaît dans la file d'attente. Lorsqu'un nouvel évènement apparaît, la fonction.  **MLV\_Event** **MLV\_wait\_event\_or\_seconds** (**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, int seconds)\
 Cette fonction suspends l'éxecution du programme jusqu'à ce qu'un évènement apparaît dans la file d'attente ou jusqu'à ce qu'un certain nombre de secondes se soient écoulées. Si le temps s'est complètement écoulé, la fonction renvoie MLV\_NONE. Si un nouvel évènement apparaît et que les paramètres passés en arguments sont en rapport avec l'évènement récupéré, alors la fonction remplit les paramètres et renvoie un entier codant le type de l'évènement qui a été récupéré. Si un nouvel évènement apparaît et qu'il n'est pas en rapport avec les paramètres de la fonction, alors il se rendort dans l'attente d'un nouvel évènement ou de la fin du temps.  **MLV\_Event** **MLV\_wait\_event\_or\_milliseconds** (**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, int milliseconds)\
 Cette fonction suspends l'éxecution du programme jusqu'à ce qu'un évènement apparaît dans la file d'attente ou jusqu'à ce qu'un certain nombre de millisecondes se soient écoulées. Si le temps s'est complètement écoulé, la fonction renvoie MLV\_NONE. Si un nouvel évènement apparaît et que les paramètres passés en arguments sont en rapport avec l'évènement récupéré, alors la fonction remplit les paramètres et renvoie un entier codant le type de l'évènement qui a été récupéré. Si un nouvel évènement apparaît et qu'il n'est pas en rapport avec les paramètres de la fonction, alors il se rendort dans l'attente d'un nouvel évènement ou de la fin du temps.  void **MLV\_flush\_event\_queue** ()\
 Cette fonction vide la file d'évènements.  **MLV\_Event** **MLV\_wait\_keyboard\_or\_mouse** (**MLV\_Keyboard\_button** \*sym, **MLV\_Keyboard\_modifier** \*mod, int \*unicode, int \*mouse\_x, int \*mouse\_y)\
 Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier ou sur le bouton gauche de la souris.  **MLV\_Event** **MLV\_wait\_keyboard\_or\_mouse\_or\_seconds** (**MLV\_Keyboard\_button** \*sym, **MLV\_Keyboard\_modifier** \*mod, int \*unicode, int \*mouse\_x, int \*mouse\_y, int seconds)\
 Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier, sur le bouton gauche de la souris ou qu'un certain nombre de secondes passées en paramètres se soient écoulées.  **MLV\_Event** **MLV\_wait\_mouse\_or\_milliseconds** (int \*x, int \*y, int milliseconds)\
 Suspend l'exécution jusqu'à ce que l'utilisateur clique sur le bouton gauche de la souris.  **MLV\_Event** **MLV\_wait\_mouse\_or\_seconds** (int \*x, int \*y, int seconds)\
 Suspend l'exécution jusqu'à ce que l'utilisateur clique sur le bouton gauche de la souris où jusqu'à ce qu'un nombre de secondes, passé en paramètres, se soient écoulées.  **MLV\_Event** **MLV\_wait\_keyboard\_or\_seconds** (**MLV\_Keyboard\_button** \*sym, **MLV\_Keyboard\_modifier** \*mod, int \*unicode, int seconds)\
 Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier ou jusq'à ce q'un nombre de secondes passées en paramètres soient écoulées.  **MLV\_Event** **MLV\_wait\_keyboard\_or\_milliseconds** (**MLV\_Keyboard\_button** \*sym, **MLV\_Keyboard\_modifier** \*mod, int \*unicode, int milliseconds)\
 Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier ou jusq'à ce q'un nombre de millisecondes passées en paramètres soient écoulées.  **MLV\_Event** **MLV\_wait\_keyboard\_or\_mouse\_or\_milliseconds** (**MLV\_Keyboard\_button** \*sym, **MLV\_Keyboard\_modifier** \*mod, int \*unicode, int \*mouse\_x, int \*mouse\_y, int milliseconds)\
 Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier, sur le bouton gauche de la souris ou qu'un certain nombre de millisecondes passées en paramètres se soient écoulées.  const char \* **MLV\_convert\_event\_to\_string** (**MLV\_Event** event\_code)\
 Convertit le code d'un évènement en une chaîne de caractères.  **MLV\_Event** **MLV\_convert\_string\_to\_event** (const char \*event\_string)\
 Convertit le nom d'un évènement en son code associé.  const char \* **MLV\_convert\_button\_state\_to\_string** (**MLV\_Button\_state** state\_code)\
 Convertit le code d'un état en une chaîne de caractères.  **MLV\_Button\_state** **MLV\_convert\_string\_to\_button\_state** (const char \*state\_string)\
 Convertit le nom d'un état en son code associé.  **MLV\_Event** **MLV\_wait\_input\_box\_or\_milliseconds** (int milliseconds, int top\_left\_corner\_X, int top\_left\_corner\_Y, int width, int height, **MLV\_Color** borderColor, **MLV\_Color** textColor, **MLV\_Color** backgroundColor, const char \*informativeMessage, char \*\*text,...)\
 Cette fonction suspend l'exécution du programme, affiche une boîte de saisie et attends que l'utilisateur rentre une phrase dans le champs de la boîte ou qu'une temps (en millisecondes) donné en paramètre s'écoule.  **MLV\_Event** **MLV\_wait\_input\_box\_with\_font\_or\_milliseconds** (int milliseconds, int top\_left\_corner\_X, int top\_left\_corner\_Y, int width, int height, **MLV\_Color** borderColor, **MLV\_Color** textColor, **MLV\_Color** backgroundColor, const char \*informativeMessage, char \*\*text, const **MLV\_Font** \*font,...)\
 Même chose que **MLV\_wait\_input\_box\_or\_milliseconds()**, mais il est possible de changer la fonte du du texte.  **MLV\_Event** **MLV\_wait\_particular\_input\_box\_or\_milliseconds** (int milliseconds, **MLV\_Input\_box** \*input\_box, char \*\*text)\
 Cette fonction suspend l'exécution du programme jusqu'à ce que l'utilisateur écrive une phrase dans le champs de la boîte de saisie passée en paramètre de la fonction ou qu'un nombre de millisecondes fixées soient écoulée.  **MLV\_Event** **MLV\_wait\_particular\_input\_box\_or\_seconds** (**MLV\_Input\_box** \*input\_box, char \*\*text, int seconds)\
 Cette fonction suspend l'exécution du programme jusqu'à ce que l'utilisateur écrive une phrase dans le champs de la boîte de saisie passée en paramètre de la fonction ou qu'un nombre de secondes fixées soient écoulée.

## Description détaillée

Ce fichier définit les prototypes des fonctions permettant d'utiliser les évènements dans la bibliothèque MLV.

**Auteur**

Adrien Boussicault

Marc Zipstein

## Documentation du type de l'énumération

### enum MLV\_Event

Énumère les différents types d'évènement de la bibliothèque MLV.

**Valeurs énumérées**

- *MLV\_NONE*

  *Aucun évènement*

- *MLV\_KEY*

  *Evnènement provenant du clavier*

- *MLV\_INPUT\_BOX*

  *Évènement provenant de la validation d'un texte dans une boîte de saisie.*

- *MLV\_MOUSE\_BUTTON*

  *Évènement provenant d'un clique de souris.*

- *MLV\_MOUSE\_MOTION*

  *Évènement provenant du déplacement de la souris.*

## Documentation des fonctions

### const char \* MLV\_convert\_button\_state\_to\_string (MLV\_Button\_state state\_code)

*Convertit le code d'un état en une chaîne de caractères.*

**Paramètres**

*state\_code le code de l'état*

**Renvoie**

*La chaîne de caractères associée au code de l'état.*

### const char \* MLV\_convert\_event\_to\_string (MLV\_Event event\_code)

*Convertit le code d'un évènement en une chaîne de caractères.*

**Paramètres**

*event\_code le code de l'évènement*

**Renvoie**

*La chaîne de caractères associée au code de l'évènement.*

### MLV\_Button\_state MLV\_convert\_string\_to\_button\_state (const char \* state\_string)

*Convertit le nom d'un état en son code associé.*

**Paramètres**

*state\_string le nom de l'état.*

**Renvoie**

*Le code de l'état associé à la chaîne de caractères.*

### MLV\_Event MLV\_convert\_string\_to\_event (const char \* event\_string)

*Convertit le nom d'un évènement en son code associé.*

**Paramètres**

*event\_string le nom de l'évènement.*

**Renvoie**

*Le code de l'évènement associé à la chaîne de caractères.*

### 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\_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***.*

### MLV\_Event MLV\_wait\_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 suspends l'éxecution du programme jusqu'à ce qu'un évènement apparaît dans la file d'attente. Lorsqu'un nouvel évènement apparaît, la fonction.*

- •

  *remplit ses paramètres et renvoie un entier codant le type de l'évènement qui a été récupéré, si les paramètres passés en argument concernent l'évènement récupéré.*

- •

  *se rendort en l'attente d'un nouvel évènement, dans le cas contraire.*

*Pour plus d'informations sur les différents types d'évènements et leurs liens avec les paramètres de la fonction, veuillez consulter la documentation de la fonction* **MLV\_get\_event()***.*

*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 et le paramètre est ignoré.*

**Bogue**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**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é par la 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.*

**Renvoie**

*La fonction renvoie un entier codant le type de l'évènement qui a été récupéré.*

### MLV\_Event MLV\_wait\_event\_or\_milliseconds (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, int milliseconds)

*Cette fonction suspends l'éxecution du programme jusqu'à ce qu'un évènement apparaît dans la file d'attente ou jusqu'à ce qu'un certain nombre de millisecondes se soient écoulées. Si le temps s'est complètement écoulé, la fonction renvoie MLV\_NONE. Si un nouvel évènement apparaît et que les paramètres passés en arguments sont en rapport avec l'évènement récupéré, alors la fonction remplit les paramètres et renvoie un entier codant le type de l'évènement qui a été récupéré. Si un nouvel évènement apparaît et qu'il n'est pas en rapport avec les paramètres de la fonction, alors il se rendort dans l'attente d'un nouvel évènement ou de la fin du temps. Pour plus d'informations sur les différents types d'évènements et leurs liens avec les paramètres de la fonction, veuillez consulter la documentation de la fonction* **MLV\_get\_event()***.*

*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**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**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é par la 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.* \
 *milliseconds Nombre de millisecondes à attendre avant de terminer l'execution de la fonction en renvoyant MLV\_NONE.*

**Renvoie**

*La fonction renvoie un entier codant le type de l'évènement qui a été récupéré ou MLV\_NONE si le temps s'est écoulé.*

### MLV\_Event MLV\_wait\_event\_or\_seconds (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, int seconds)

*Cette fonction suspends l'éxecution du programme jusqu'à ce qu'un évènement apparaît dans la file d'attente ou jusqu'à ce qu'un certain nombre de secondes se soient écoulées. Si le temps s'est complètement écoulé, la fonction renvoie MLV\_NONE. Si un nouvel évènement apparaît et que les paramètres passés en arguments sont en rapport avec l'évènement récupéré, alors la fonction remplit les paramètres et renvoie un entier codant le type de l'évènement qui a été récupéré. Si un nouvel évènement apparaît et qu'il n'est pas en rapport avec les paramètres de la fonction, alors il se rendort dans l'attente d'un nouvel évènement ou de la fin du temps. Pour plus d'informations sur les différents types d'évènements et leurs liens avec les paramètres de la fonction, veuillez consulter la documentation de la fonction* **MLV\_get\_event()***.*

*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**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**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é par la 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.* \
 *seconds Nombre de secondes à attendre avant de terminer l'execution de la fonction en renvoyant MLV\_NONE.*

**Renvoie**

*La fonction renvoie un entier codant le type de l'évènement qui a été récupéré ou MLV\_NONE si le temps s'est écoulé.*

### MLV\_Event MLV\_wait\_input\_box\_or\_milliseconds (int milliseconds, int top\_left\_corner\_X, int top\_left\_corner\_Y, int width, int height, MLV\_Color borderColor, MLV\_Color textColor, MLV\_Color backgroundColor, const char \* informativeMessage, char \*\* text, ...)

*Cette fonction suspend l'exécution du programme, affiche une boîte de saisie et attends que l'utilisateur rentre une phrase dans le champs de la boîte ou qu'une temps (en millisecondes) donné en paramètre s'écoule. La boîte de saisie contient deux zones de textes. La première zone ne peut pas être éditée par l'utilisateur et sert à afficher un message d'information. La deuxième est vide et peut être éditée par l'utilisateur. Lorsque l'utilisateur appuie sur la touche entrée, le texte qui se trouve dans la zone de texte est renvoyé par la fonction grâce au paramètre text. Le texte, la taille et les couleurs de la boîte de saisie sont paramétrables. Si le temps sécoule complètement, alors text est mis à NULL.*

**MLV\_wait\_input\_box()** *alloue lui même la mémoire associée au paramètre 'text'. Par contre, après utilisation, vous devez libérer l'espace mémoire qui a été alloué.*

**Paramètres**

*milliseconds Le temps à attendre en millisecondes.* \
 *top\_left\_corner\_X La coordonnée en X du coin Nord-Ouest de la boîte de saisie.* \
 *top\_left\_corner\_Y La coordonnée en Y du coin Nord-Ouest de la boîte de saisie.* \
 *width La largeur de la boîte de saisie.* \
 *height La hauteur de la boîte de saisie.* \
 *borderColor La couleur de la bordure de la boîte de saisie.* \
 *textColor La couleur du texte de la boîte de saisie.* \
 *backgroundColor La couleur de fond de la boîte de saisie.* \
 *informativeMessage Le message à afficher devant la boîte de saisie.* \
 *text L'addresse où sera placé la réponse donnée par*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_INPUT\_BOX ) ou MLV\_NONE si le temps s'est écoulé.*

**Exemples** **beginner/08\_mouse\_keyboard\_input\_box\_timer.c***.*

### MLV\_Event MLV\_wait\_input\_box\_with\_font\_or\_milliseconds (int milliseconds, int top\_left\_corner\_X, int top\_left\_corner\_Y, int width, int height, MLV\_Color borderColor, MLV\_Color textColor, MLV\_Color backgroundColor, const char \* informativeMessage, char \*\* text, const MLV\_Font \* font, ...)

*Même chose que* **MLV\_wait\_input\_box\_or\_milliseconds()***, mais il est possible de changer la fonte du du texte.* **MLV\_wait\_input\_box\_with\_font\_or\_milliseconds()** *alloue lui même la mémoire associée au paramètre 'text'. Par contre, après utilisation, vous devez libérer l'espace mémoire qui a été alloué. Si le temps est écoulé, alot text est mis à NULL.*

**Paramètres**

*top\_left\_corner\_X La coordonnée en X du coin Nord-Ouest de la boîte de saisie.* \
 *top\_left\_corner\_Y La coordonnée en Y du coin Nord-Ouest de la boîte de saisie.* \
 *width La largeur de la boîte de saisie.* \
 *height La hauteur de la boîte de saisie.* \
 *borderColor La couleur de la bordure de la boîte de saisie.* \
 *textColor La couleur du texte de la boîte de saisie.* \
 *backgroundColor La couleur de fond de la boîte de saisie.* \
 *informativeMessage Le message à afficher devant la boîte de saisie.* \
 *text L'addresse où sera placé la réponse donnée par l'utilisateur.* \
 *font La font du texte à utiliser.* \
 *milliseconds Le temps à attendre en millisecondes.*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_INPUT\_BOX ) ou MLV\_NONE si le temps s'est écoulé.*

### MLV\_Event MLV\_wait\_keyboard\_or\_milliseconds (MLV\_Keyboard\_button \* sym, MLV\_Keyboard\_modifier \* mod, int \* unicode, int milliseconds)

*Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier ou jusq'à ce q'un nombre de millisecondes passées en paramètres soient écoulées. Pour plus d'informations sur le fonctionnement de cette fonction, veuillez vous reporter à la documentation de* **MLV\_wait\_keyboard()***.*

*La fonction accepte des valeurs nulles pour les pointeurs sym, mod et unicode. Dans ce cas la fonction ignore les champs en questions.*

**Bogue**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**Paramètres**

*sym Le code de la touche.* \
 *mod Le mode dans lequel se trouve le clavier.* \
 *unicode Le caractère codé en unicode de la lettre obtenue en combinant le code et le mode précédent.* \
 *milliseconds Le nombre de millisecondes à attendre.*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_KEY ), ou MLV\_NONE si le temps s'est écoulé.*

### MLV\_Event MLV\_wait\_keyboard\_or\_mouse (MLV\_Keyboard\_button \* sym, MLV\_Keyboard\_modifier \* mod, int \* unicode, int \* mouse\_x, int \* mouse\_y)

*Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier ou sur le bouton gauche de la souris. Cette fonction renvoie un entier codant le type de l'évènement qui a été récupéré ( clavier ou souris )*

*Lorsque l'utilisateur appuie sur une touche, la fonction retourne trois valeurs ( sym, mod et unicode ) correspondant respectivement au code de la touche, au mode dans lequel se trouve le clavier (majuscule etc ...) et au caractère unicode correspondnant obtenu en combinant le mode du clavier et le code de la touche appuyée.*

*Lorsque l'utilisateur appuie sur le bouton gauche de la souris, la fonction remplit les parametres correspondant aux coordonnées en X et Y de la position de la souris sur l'écran.*

**Bogue**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**Paramètres**

*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.* \
 *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* \
 *mouse\_x Coordonnée en X de la position de la souris* \
 *mouse\_y Coordonnée en Y de la position de la souris*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_KEY ou MLV\_MOUSE\_BUTTON )*

**Exemples** **advanced/08\_zone\_click.c***, et* **beginner/08\_mouse\_keyboard\_input\_box\_timer.c***.*

### MLV\_Event MLV\_wait\_keyboard\_or\_mouse\_or\_milliseconds (MLV\_Keyboard\_button \* sym, MLV\_Keyboard\_modifier \* mod, int \* unicode, int \* mouse\_x, int \* mouse\_y, int milliseconds)

*Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier, sur le bouton gauche de la souris ou qu'un certain nombre de millisecondes passées en paramètres se soient écoulées. Cette fonction renvoie un entier codant le type de l'évènement qui a été récupéré ( clavier, souris ou aucun des deux ).*

*Voir les fonctions MLV\_wait\_keyboard\_milliseconds() et MLV\_wait\_mouse\_milliseconds() pour plus d'informations.*

**Bogue**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**Paramètres**

*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.* \
 *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* \
 *mouse\_x Coordonnée en X de la position de la souris* \
 *mouse\_y Coordonnée en Y de la position de la souris* \
 *milliseconds Le nombre de milliseconde à attendre avant d'arrêter la fonction*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_KEY ou MLV\_MOUSE\_BUTTON ), ou MLV\_NONE si le temps s'est écoulé.*

### MLV\_Event MLV\_wait\_keyboard\_or\_mouse\_or\_seconds (MLV\_Keyboard\_button \* sym, MLV\_Keyboard\_modifier \* mod, int \* unicode, int \* mouse\_x, int \* mouse\_y, int seconds)

*Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier, sur le bouton gauche de la souris ou qu'un certain nombre de secondes passées en paramètres se soient écoulées. Cette fonction renvoie un entier codant le type de l'évènement qui a été récupéré ( clavier, souris ou aucun des deux ).*

*Voir les fonctions MLV\_wait\_keyboard\_seconds() et MLV\_wait\_mouse\_seconds() pour plus d'informations.*

**Bogue**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**Paramètres**

*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.* \
 *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* \
 *mouse\_x Coordonnée en X de la position de la souris* \
 *mouse\_y Coordonnée en Y de la position de la souris* \
 *seconds Le nombre de seconde à attendre avant d'arrêter la fonction*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_KEY ou MLV\_MOUSE\_BUTTON ), ou MLV\_NONE si le temps s'est écoulé.*

**Exemples** **beginner/08\_mouse\_keyboard\_input\_box\_timer.c***.*

### MLV\_Event MLV\_wait\_keyboard\_or\_seconds (MLV\_Keyboard\_button \* sym, MLV\_Keyboard\_modifier \* mod, int \* unicode, int seconds)

*Suspend l'exécution jusqu'à ce que l'utilisateur appuie sur une touche du clavier ou jusq'à ce q'un nombre de secondes passées en paramètres soient écoulées. Pour plus d'informations sur le fonctionnement de cette fonction, veuillez vous reporter à la documentation de* **MLV\_wait\_keyboard()***.*

*La fonction accepte des valeurs nulles pour les pointeurs sym, mod et unicode. Dans ce cas la fonction ignore les champs en questions.*

**Bogue**

*Voir les bugs de la fonction* **MLV\_get\_event()***.*

**Paramètres**

*sym Le code de la touche.* \
 *mod Le mode dans lequel se trouve le clavier.* \
 *unicode Le caractère codé en unicode de la lettre obtenue en combinant le code et le mode précédent.* \
 *seconds Le nombre de secondes à attendre.*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_KEY ), ou MLV\_NONE si le temps s'est écoulé.*

**Exemples** **beginner/08\_mouse\_keyboard\_input\_box\_timer.c***.*

### MLV\_Event MLV\_wait\_mouse\_or\_milliseconds (int \* x, int \* y, int milliseconds)

*Suspend l'exécution jusqu'à ce que l'utilisateur clique sur le bouton gauche de la souris. Au moment où l'utilisateur clique, la fonction retourne les coordonnées de la position de la souris dans la fenêtre.*

**Paramètres**

*x Coordonnée en X de la position de la souris dans la fenêtre.* \
 *y Coordonnée en Y de la position de la souris dans la fenêtre.* \
 *milliseconds Le nombre de milliseconde à attendre.*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_MOUSE\_BUTTON ), ou MLV\_NONE si le temps s'est écoulé.*

### MLV\_Event MLV\_wait\_mouse\_or\_seconds (int \* x, int \* y, int seconds)

*Suspend l'exécution jusqu'à ce que l'utilisateur clique sur le bouton gauche de la souris où jusqu'à ce qu'un nombre de secondes, passé en paramètres, se soient écoulées. Au moment où l'utilisateur clique, la fonction retourne les coordonnées de la position de la souris dans la fenêtre.*

**Paramètres**

*x Coordonnée en X de la position de la souris dans la fenêtre.* \
 *y Coordonnée en Y de la position de la souris dans la fenêtre.* \
 *seconds Le nombre de second à attendre avant de quitter la fonction.*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_MOUSE\_BUTTON ), ou MLV\_NONE si le temps s'est écoulé.*

**Exemples** **beginner/08\_mouse\_keyboard\_input\_box\_timer.c***.*

### MLV\_Event MLV\_wait\_particular\_input\_box\_or\_milliseconds (int milliseconds, MLV\_Input\_box \* input\_box, char \*\* text)

*Cette fonction suspend l'exécution du programme jusqu'à ce que l'utilisateur écrive une phrase dans le champs de la boîte de saisie passée en paramètre de la fonction ou qu'un nombre de millisecondes fixées soient écoulée.*

**Paramètres**

*input\_box La boîte de saisie qui doit être observée.* \
 *text Le texte récupéré par la boîte de saisie.* \
 *milliseconds Le nombre de millisecondes à attendre.*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_INPUT\_BOX ) ou MLV\_NONE si le temps s'est écoulé. \\*

### MLV\_Event MLV\_wait\_particular\_input\_box\_or\_seconds (MLV\_Input\_box \* input\_box, char \*\* text, int seconds)

*Cette fonction suspend l'exécution du programme jusqu'à ce que l'utilisateur écrive une phrase dans le champs de la boîte de saisie passée en paramètre de la fonction ou qu'un nombre de secondes fixées soient écoulée.*

**Paramètres**

*input\_box La boîte de saisie qui doit être observée.* \
 *text Le texte récupéré par la boîte de saisie.* \
 *seconds Le nombre de secondes à attendre.*

**Renvoie**

*un entier codant le type de l'évènement qui a été récupéré ( MLV\_INPUT\_BOX ) ou MLV\_NONE si le temps s'est écoulé. \\*

## Auteur

*Généré automatiquement par Doxygen pour MLV-3.1.0 à partir du code source.*
