# Documentation de la bibliothèque MLV-1.2.1

- Presentation
- Téléchargement
- Installation
- Compilation
- Exemples
- API
- Liste des fonctions
- bogues
- FAQ
- contacts

Fonctions
Référence du fichier MLV_window.h

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

Aller au code source de ce fichier.

## 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. Plus de détails...
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. Plus de détails...
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. Plus de détails...
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. Plus de détails...
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. Plus de détails...
void | MLV_enable_full_screen ()
| Affiche la fenêtre en plein ecran. Plus de détails...
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. Plus de détails...
void | MLV_change_window_size (unsigned int width, unsigned int height)
| Change la taille de la fenêtre. Plus de détails...
void | MLV_change_window_caption (const char *window_name, const char *icone_name)
| Change les intitulés de la fenêtre principale. Plus de détails...
void | MLV_get_window_size (unsigned int *width, unsigned int *height)
| Renvoie dans les paramètres, la hauteur et la largeur de la fentre. Plus de détails...
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. Plus de détails...
void | MLV_free_window ()
| Ferme la fenêtre de la bibliothèque MLV. Plus de détails...
void | MLV_actualise_window ()
| Actualise l'affichage de la fenêtre. Plus de détails...
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. Plus de détails...
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. Plus de détails...
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.

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_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.

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_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_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.

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_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_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.

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.

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_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.