---
name: "MLV_window.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_window.h"
---

# MLV\_window.h(3)

Ce fichier définit les prototypes des fonctions permettant de créer, initialiser et fermer des fenêtres.

## NAME

MLV\_window.h - Ce fichier définit les prototypes des fonctions permettant de créer, initialiser et fermer des fenêtres.

## SYNOPSIS

### Fonctions

void **MLV\_create\_window** (const char \*window\_name, const char \*icone\_name, unsigned int width, unsigned int height)\
 Créé une fenêtre dont la taille, et les différents noms sont passés en paramètres.  void **MLV\_create\_window\_with\_default\_font** (const char \*window\_name, const char \*icone\_name, unsigned int width, unsigned int height, const char \*path\_to\_font, unsigned int size\_font)\
 Même chose que **MLV\_create\_window()**, mais en utilisant une fonte de caractères particulière.  void **MLV\_change\_default\_font** (const char \*path\_to\_font, unsigned int size\_font)\
 Change la fonte de caractères par défault de la bibliothèque MLV.  void **MLV\_create\_full\_screen\_window** (const char \*window\_name, const char \*icone\_name, unsigned int width, unsigned int height)\
 Même chose que **MLV\_create\_window()**, mais configure la fenêtre en mode plein écran.  void **MLV\_create\_full\_screen\_window\_with\_default\_font** (const char \*window\_name, const char \*icone\_name, unsigned int width, unsigned int height, const char \*path\_to\_font, unsigned int size\_font)\
 Même chose que **MLV\_create\_window()**, mais configure la fenêtre en mode plein écran.  void **MLV\_enable\_full\_screen** ()\
 Affiche la fenêtre en plein ecran.  void **MLV\_disable\_full\_screen** ()\
 Désactve le mode plein écran de la fenêtre.  int **MLV\_is\_full\_screen** ()\
 Test si l'affichage est en mode plein écran ou en mode fenêtre.  void **MLV\_change\_window\_size** (unsigned int width, unsigned int height)\
 Change la taille de la fenêtre.  void **MLV\_change\_window\_caption** (const char \*window\_name, const char \*icone\_name)\
 Change les intitulés de la fenêtre principale.  void **MLV\_get\_window\_size** (unsigned int \*width, unsigned int \*height)\
 Renvoie dans les paramètres, la hauteur et la largeur de la fentre.  int **MLV\_get\_window\_height** ()\
 Retourne la hauteur de la fenêtre.  int **MLV\_get\_window\_width** ()\
 Retourne la largeur de la fenêtre.  void **MLV\_clear\_window** (**MLV\_Color** color)\
 Éfface la fenêtre et la remplace par un monochrome de la couleur donnée en paramètre.  void **MLV\_free\_window** ()\
 Ferme la fenêtre de la bibliothèque MLV.  void **MLV\_actualise\_window** ()\
 Actualise l'affichage de la fenêtre.  void **MLV\_update\_window** ()\
 Met à jour l'affichage de la fenêtre.  void **MLV\_execute\_at\_exit** (void(\*function)(void \*), void \*data)\
 Exécute la fonction de call back donnée en paramètre lorsque le système envoie un signal d'arrêt, ou lorsque l'utilisateur clique sur la croix de la fenêtre.  void **MLV\_get\_desktop\_size** (unsigned int \*width, unsigned int \*height)\
 Renvoie dans les paramètres, la hauteur et la largeur de l'environement de bureau de l'ordinateur.  int **MLV\_get\_desktop\_height** ()\
 Renvoie la hauteur de l'environement de bureau de l'ordinateur.  int **MLV\_get\_desktop\_width** ()\
 Renvoie la largeur de l'environement de bureau de l'ordinateur.

## Description détaillée

Ce fichier définit les prototypes des fonctions permettant de créer, initialiser et fermer des fenêtres.

**Auteur**

Adrien Boussicault

Marc Zipstein

## Documentation des fonctions

### void MLV\_actualise\_window ()

Actualise l'affichage de la fenêtre. \

Vois La fonction MLV\_update\_window

Lorsque vous utilisez des fonctions de dessins, les différents changements effectués ne sont pas visibles. Pour les afficher vous devez utiliser cette fonction.

### void MLV\_change\_default\_font (const char \* path\_to\_font, unsigned int size\_font)

Change la fonte de caractères par défault de la bibliothèque MLV. \

Cette fonction change la fonte de caractères par défault de la bibliothèque. Cette fonction ne peux s'exécuter qu'après avoir initialisé la bibliothèque MLV en créant une fenêtre à l'aide de la fonction **MLV\_create\_window()**. Cette fonction n'a pas de sens si vous ne souhaitez pas changer de fontes plusieurs fois durant l'exécution de votre programme. Si vous n'utilisez qu'une seule fonte de caractères, il vaut mieux l'indiquer à la bibliothèque MLV lors de la création de la fenêtre en utilisant la fonction: **MLV\_create\_window\_with\_default\_font()**.

**Paramètres**

*path\_to\_font* Le chemin d'accès vers une fonte de caratères au standard 'TrueType' (fichiers d'extension .ttf). \
 *size\_font* La taille de la fonte de caractères.

### void MLV\_change\_window\_caption (const char \* window\_name, const char \* icone\_name)

Change les intitulés de la fenêtre principale. \

**Paramètres**

*window\_name* Intitulé apparaissaissant sur la barre de la fenêtre. \
 *icone\_name* Intitulé apparaissaissant dans la barre des tâches.

### void MLV\_change\_window\_size (unsigned int width, unsigned int height)

Change la taille de la fenêtre. \

Si la fenêtre est configurée en mode plein ecran, l'application reste alors en mode plein écran. Pour que l'application soit en plein écran, il faut que la taille de la fenêtre soit compatible avec la résolution de l'écran. De plus, en mode plein écran, la taille de la fenêtre correspond à la résolution de l'image sur l'écran.

**Paramètres**

*width* la largeur de la fenêtre \
 *height* la hauteur de la fenêtre

**Exemples** **advanced/06\_image.c**, **advanced/08\_zone\_click.c**, et **medium/08\_full\_screen.c**.

### void MLV\_clear\_window (MLV\_Color color)

Éfface la fenêtre et la remplace par un monochrome de la couleur donnée en paramètre. \

**Paramètres**

*color* La couleur du fond de la fênetre.

**Exemples** **advanced/07\_transparency.c**, **advanced/09\_animation.c**, **advanced/11\_animation\_book.c**, **beginner/08\_mouse\_keyboard\_input\_box\_timer.c**, **beginner/09\_colors.c**, **medium/01\_keyboard\_events.c**, **medium/02\_mouse\_events.c**, **medium/03\_input\_box\_events.c**, **medium/04\_events.c**, **medium/05\_exit.c**, **medium/06\_colors.c**, **medium/07\_time.c**, **medium/08\_full\_screen.c**, **medium/10\_mouse\_or\_keyboard\_access.c**, et **medium/11\_keys\_codes.c**.

### void MLV\_create\_full\_screen\_window (const char \* window\_name, const char \* icone\_name, unsigned int width, unsigned int height)

Même chose que **MLV\_create\_window()**, mais configure la fenêtre en mode plein écran. \

**Bogue**

Même bogues que **MLV\_create\_window()**.

**Paramètres**

*window\_name* Le nom de la fenêtre. \
 *icone\_name* Le nom de l'icône de la fenêtre. \
 *width* La largeur de la fenêtre ( en mode plein écran, cette valeur correspond à la coordonnée en X de la résolution de l'image ). \
 *height* La hauteur de la fenêtre ( en mode plein écran, cela correspond à la coordonnée en Y de la résolution de l'image ).

### void MLV\_create\_full\_screen\_window\_with\_default\_font (const char \* window\_name, const char \* icone\_name, unsigned int width, unsigned int height, const char \* path\_to\_font, unsigned int size\_font)

Même chose que **MLV\_create\_window()**, mais configure la fenêtre en mode plein écran. \

**Bogue**

Même bogues que **MLV\_create\_window()**.

**Paramètres**

*window\_name* Le nom de la fenêtre. \
 *icone\_name* Le nom de l'icône de la fenêtre. \
 *width* La largeur de la fenêtre ( en mode plein écran, cette valeur correspond à la coordonnée en X de la résolution de l'image ). \
 *height* La hauteur de la fenêtre ( en mode plein écran, cela correspond à la coordonnée en Y de la résolution de l'image ). \
 *path\_to\_font* Le chemin d'accès vers une fonte de caratères au standard 'TrueType' (fichiers d'extension .ttf). \
 *size\_font* La taille de la fonte de caractères.

### void MLV\_create\_window (const char \* window\_name, const char \* icone\_name, unsigned int width, unsigned int height)

Créé une fenêtre dont la taille, et les différents noms sont passés en paramètres. \

Cette fonction initialise la bibliothèque MLV. Un programme donné ne peut pas ouvrir plus d'une fenêtre à la fois. Les paramètres largeur et hauteur peuvent éventuellement prendre des valeurs négatives. Dans ce cas, la fenêtre est dessinée en plein écran.

**Bogue**

BOGUES WINDOWS ET MACOSX UNIQUEMENT\

 Sous Windows uniquement, la fenêtre crée ne peut pas toujours être fermée à l'aide de la croix. En effet, la bibliothèque MLV implémente une fermeture automatique de la fenêtre lorsque l'utilisateur utilise la croix. Or, ce mécanisme utilise les threads SDL qui ne sont malheureusement pas bien supportés sous Windows et MacOSX.\

 En fait, la bibliothèque MLV utilise un second thread pour récuperer en permanance tous les évènements SDL de la pile et pour les traiter au fur et à mesure de leurs apparitions. OR, sous Windos et Mac OS X, comme les threads ne fonctionnent pas, la bibliothèque ne peux pas lire les évènements systèmes comme ceux de la fermeture de la fenêtre. Elle n'est donc plus informée de ce qui ce passe. Pour permettre à la bibliothèque de récupérer ces informations, il vous suffit de demander un évènement à l'aide de la fonction : **MLV\_get\_event()**. Cela obligera la bibliothèque MLV à dépiler et à traiter tous les évènements SDL de la pile. Cela aura pour conséquence de traiter l'évènement système de la fermeture de la fenêtre. Dans l'implémentation des fonctions : **MLV\_wait\_keyboard()**, **MLV\_wait\_mouse()**, etc ..., nous utilisons la fonction **MLV\_get\_event()**. C'est pourquoi, la croix fonctionne correctement lorsque le programme est en attente d'une information provenant de l'utilisateur.

**Paramètres**

*window\_name* Le nom de la fenêtre. \
 *icone\_name* Le nom de l'icône de la fenêtre. \
 *width* La largeur de la fenêtre. \
 *height* La hauteur de la fenêtre.

**Exemples** **advanced/01\_texts\_and\_boxes.c**, **advanced/02\_font.c**, **advanced/04\_sound.c**, **advanced/05\_playlist.c**, **advanced/06\_image.c**, **advanced/07\_transparency.c**, **advanced/08\_zone\_click.c**, **advanced/09\_animation.c**, **advanced/11\_animation\_book.c**, **beginner/01\_hello\_world.c**, **beginner/02\_shapes.c**, **beginner/04\_texts\_and\_boxes.c**, **beginner/05\_mouse.c**, **beginner/06\_keyboard.c**, **beginner/07\_input\_box.c**, **beginner/08\_mouse\_keyboard\_input\_box\_timer.c**, **beginner/09\_colors.c**, **beginner/10\_library\_informations.c**, **beginner/11\_turtle.c**, **medium/01\_keyboard\_events.c**, **medium/02\_mouse\_events.c**, **medium/03\_input\_box\_events.c**, **medium/04\_events.c**, **medium/05\_exit.c**, **medium/06\_colors.c**, **medium/07\_time.c**, **medium/08\_full\_screen.c**, **medium/09\_keyboard\_accents.c**, **medium/10\_mouse\_or\_keyboard\_access.c**, **medium/11\_keys\_codes.c**, et **medium/12\_desktop\_size.c**.

### void MLV\_create\_window\_with\_default\_font (const char \* window\_name, const char \* icone\_name, unsigned int width, unsigned int height, const char \* path\_to\_font, unsigned int size\_font)

Même chose que **MLV\_create\_window()**, mais en utilisant une fonte de caractères particulière. \

**Bogue**

Même bogues que la fonction **MLV\_create\_window()**.

**Paramètres**

*window\_name* Le nom de la fenêtre. \
 *icone\_name* Le nom de l'icône de la fenêtre. \
 *width* La largeur de la fenêtre. \
 *height* La hauteur de la fenêtre. \
 *path\_to\_font* Le chemin d'accès vers une fonte de caratères au standard 'TrueType' (fichiers d'extension .ttf). \
 *size\_font* La taille de la fonte de caractères. la hauteur de la fenêtre.

### void MLV\_disable\_full\_screen ()

Désactve le mode plein écran de la fenêtre. \

**Exemples** **medium/08\_full\_screen.c**.

### void MLV\_enable\_full\_screen ()

Affiche la fenêtre en plein ecran. \

La résolution de l'image est donnée alors par la taille de l'image. Pour que l'application soit en plein écran, il faut que la taille de la fenêtre soit compatible avec la résolution de l'écran.

**Exemples** **medium/08\_full\_screen.c**.

### void MLV\_execute\_at\_exit (void(\*)(void \*) function, void \* data)

Exécute la fonction de call back donnée en paramètre lorsque le système envoie un signal d'arrêt, ou lorsque l'utilisateur clique sur la croix de la fenêtre. \

La fonction de call back est alors exécutée avec en paramêtre un pointeur vers une structure de donnée qui est aussi donné en paramètre à la fonction **MLV\_execute\_at\_exit()**.

**Paramètres**

*function* Le pointeur de la fonction de call back qui doit être exécutée. \
 *data* La Donnée à passer en paramètre à la fonction de call back lors de son exécution.

**Exemples** **medium/05\_exit.c**.

### void MLV\_free\_window ()

Ferme la fenêtre de la bibliothèque MLV. Cette fonction libère correctement toutes les données qui ont été crées par la bibliothèque MLV

**Exemples** **advanced/01\_texts\_and\_boxes.c**, **advanced/02\_font.c**, **advanced/04\_sound.c**, **advanced/05\_playlist.c**, **advanced/06\_image.c**, **advanced/07\_transparency.c**, **advanced/08\_zone\_click.c**, **advanced/09\_animation.c**, **advanced/11\_animation\_book.c**, **beginner/01\_hello\_world.c**, **beginner/02\_shapes.c**, **beginner/04\_texts\_and\_boxes.c**, **beginner/05\_mouse.c**, **beginner/06\_keyboard.c**, **beginner/07\_input\_box.c**, **beginner/08\_mouse\_keyboard\_input\_box\_timer.c**, **beginner/09\_colors.c**, **beginner/10\_library\_informations.c**, **beginner/11\_turtle.c**, **medium/01\_keyboard\_events.c**, **medium/02\_mouse\_events.c**, **medium/03\_input\_box\_events.c**, **medium/04\_events.c**, **medium/05\_exit.c**, **medium/06\_colors.c**, **medium/07\_time.c**, **medium/08\_full\_screen.c**, **medium/09\_keyboard\_accents.c**, **medium/10\_mouse\_or\_keyboard\_access.c**, **medium/11\_keys\_codes.c**, et **medium/12\_desktop\_size.c**.

### int MLV\_get\_desktop\_height ()

Renvoie la hauteur de l'environement de bureau de l'ordinateur. \

**Exemples** **medium/12\_desktop\_size.c**.

### void MLV\_get\_desktop\_size (unsigned int \* width, unsigned int \* height)

Renvoie dans les paramètres, la hauteur et la largeur de l'environement de bureau de l'ordinateur. \

**Paramètres**

*width* La largeur du bureau. \
 *height* La hauteur du bureau.

### int MLV\_get\_desktop\_width ()

Renvoie la largeur de l'environement de bureau de l'ordinateur. \

**Exemples** **medium/12\_desktop\_size.c**.

### int MLV\_get\_window\_height ()

Retourne la hauteur de la fenêtre. \

**Exemples** **medium/08\_full\_screen.c**.

### void MLV\_get\_window\_size (unsigned int \* width, unsigned int \* height)

Renvoie dans les paramètres, la hauteur et la largeur de la fentre. \

**Paramètres**

*width* La largeur de la fenêtre. \
 *height* La hauteur de la fenêtre.

### int MLV\_get\_window\_width ()

Retourne la largeur de la fenêtre. \

**Exemples** **medium/08\_full\_screen.c**.

### int MLV\_is\_full\_screen ()

Test si l'affichage est en mode plein écran ou en mode fenêtre.

**Renvoie**

Renvoie 1 si l'affichage est en mode plein écran, 0 sinon.

**Exemples** **medium/08\_full\_screen.c**.

### void MLV\_update\_window ()

Met à jour l'affichage de la fenêtre. \

Lorsque vous utilisez des fonctions de dessins, les différents changements effectués ne sont pas visibles. Pour les afficher vous devez utiliser cette fonction.

**Exemples** **advanced/01\_texts\_and\_boxes.c**, **advanced/02\_font.c**, **advanced/04\_sound.c**, **advanced/05\_playlist.c**, **advanced/06\_image.c**, **advanced/07\_transparency.c**, **advanced/08\_zone\_click.c**, **advanced/09\_animation.c**, **advanced/11\_animation\_book.c**, **beginner/01\_hello\_world.c**, **beginner/02\_shapes.c**, **beginner/04\_texts\_and\_boxes.c**, **beginner/05\_mouse.c**, **beginner/06\_keyboard.c**, **beginner/07\_input\_box.c**, **beginner/08\_mouse\_keyboard\_input\_box\_timer.c**, **beginner/09\_colors.c**, **beginner/10\_library\_informations.c**, **medium/01\_keyboard\_events.c**, **medium/02\_mouse\_events.c**, **medium/03\_input\_box\_events.c**, **medium/04\_events.c**, **medium/05\_exit.c**, **medium/06\_colors.c**, **medium/07\_time.c**, **medium/08\_full\_screen.c**, **medium/09\_keyboard\_accents.c**, **medium/10\_mouse\_or\_keyboard\_access.c**, **medium/11\_keys\_codes.c**, et **medium/12\_desktop\_size.c**.

## Auteur

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