Documentation de la bibliothèque MLV-0.5

Fonctions

Référence du fichier MLV_window.h

Ce fichier définit les prototypes des fonctions permettant de créer, intialiser 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.
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)
 Créé une fenêtre dont la taille, les différents noms, la police du texte et la taille du texte sont passés en paramètres.
void MLV_change_default_font (const char *path_to_font, unsigned int size_font)
 Change la police de caractères par défault de la librairie MLV.
void MLV_create_full_screen_window (const char *window_name, const char *icone_name, unsigned int width, unsigned int height)
 Créé une fenêtre en plein écran dont les différents noms sont passés en paramètres.
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 fenetre.
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 fenetre.
void MLV_get_window_size (unsigned int *width, unsigned int *height)
 Renvoie la taille 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 fenetre.
void MLV_free_window ()
 Ferme la fenêtre de la librairie MLV.
void MLV_actualise_window ()
 Actualise 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 paraètre lorsque le système envoie un signal d'arrêt, ou lorsque l'utilisateur clique sur la croix de la fenêtre.

Description détaillée

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

Auteur:
Adrien Boussicault
Marc Zipstein

Documentation des fonctions

void MLV_actualise_window (  ) 
void MLV_change_default_font ( const char *  path_to_font,
unsigned int  size_font 
)

Change la police de caractères par défault de la librairie MLV.

Cette fonction change la police de caractères par défault de la librairie. Cette fonction ne peux s'executer qu'après avoir initialisé la librairie 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 polices plusieurs fois durant l'execution de votre programme. Si vous n'utilisez qu'une seule police de caractères, il vaut mieux l'indiquer à la librairie 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 chemin d'accés vers une police de caratères de type ttf
size_font Taille de la police de caractères. la hauteur de la fenêtre
void MLV_change_window_caption ( const char *  window_name,
const char *  icone_name 
)

Change les intitulés de la fenetre.

Paramètres:
window_name Intitulé apparassaissant sur le fenêtre.
icone_name Intitulé apparassaissant dans la barre de la fenêtre.
void MLV_change_window_size ( unsigned int  width,
unsigned int  height 
)

Change la taille de la fenêtre.

Si la fenetre a configuré en mode plein ecran, l'appliqcation reste alors en mode plein écran. Pour que l'application soit en plein écran, il faut que la taille de la fenetre 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/8_zone_click.c, et medium/8_full_screen.c.
void MLV_create_full_screen_window ( const char *  window_name,
const char *  icone_name,
unsigned int  width,
unsigned int  height 
)

Créé une fenêtre en plein écran dont les différents noms sont passés en paramètres.

Cette fonction intialise la librairie MLV. Un programme donné ne peut pas ouvrir plus d'une fenêtre à la fois.

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êtrei ( en mode plein écran, cela correspond à la coordonnée en Y de la résolution de l'image )
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 intialise la librairie MLV. Un programme donné ne peut pas ouvrir plus d'une fenêtre à la fois. Les parametre largeur et hauteur peuvent éventuellement prendre des valeur négative. Dans ce cas, la fenêtre est dessiné en plein écran.

Bogue:
BOGUES WINDOWS UNIQUEMENT

Sous window uniquement, la fenêtre crée ne peux pas toujours etre ferme à l'aide de la croix. En effet, la librairie MLV implemente une fermeture automatique de la fenetre lorsque l'utilisateur utilise la croix. Or ce mechanisme utilise les thread SDL qui ne sont malheureusement pas bien supporté sous windows.

En fait, la librairie MLV utilise un second threads pour recuperer en permanancer tous les evenement SDL de la pile et pour les traiter au fur et à mesure de leur apparition. OR, sous windwos, comme les thread ne fonction pas, la librairie ne peux pas lire les evenemnt systeme comme ceux de la fermeture de la fenêtre. Elle n'est donc plus informée de ce qui se passe. Pour permettre à la librairie de recupérer ces informations, il vous suffit de demander à lire un evenement à l'aide de la fonction : MLV_get_event() cela aura pour effet d'obliger la librairie MLV de depiler tout les evenements SDL de la pile et de les traiter pour pouvoir repondre à votre requête. La librairie MLV en profite alors pour traitere les evenements systeme comme la fermeture de la fenetre. Cela explique aussi pourquoi, lorsque cous utilisez les fonctions : MLV_wait_keyboard() MLV_wait_mouse() la croix se remet à fonction de nouveaux.
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/11_animation_book.c, advanced/1_texts_and_boxes.c, advanced/2_font.c, advanced/4_sound.c, advanced/6_image.c, advanced/7_transparency.c, advanced/8_zone_click.c, advanced/9_animation.c, beginner/10_library_informations.c, beginner/1_hello_world.c, beginner/2_shapes.c, beginner/4_texts_and_boxes.c, beginner/5_mouse.c, beginner/6_keyboard.c, beginner/7_prompt.c, beginner/8_mouse_keyboard_timer.c, beginner/9_colors.c, medium/1_keyboard_events.c, medium/2_mouse_events.c, medium/3_prompt_events.c, medium/4_events.c, medium/5_exit.c, medium/6_colors.c, medium/7_time.c, medium/8_full_screen.c, et medium/9_keyboard_accents.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 
)

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

Cette fonction intialise la librairie MLV. Un programme donné ne peut pas ouvrir plus d'une fenêtre à la fois. Les parametre largeur et hauteur peuvent éventuellement prendre des valeur négative. Dans ce cas, la fenêtre est dessiné en plein écran.

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 chemin d'accés vers une police de caratères de type ttf
size_font Taille de la police 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é alors par la taille de l'image. Pour que l'application soit en plein écran, il faut que la taille de la fenetre soit compatible avec la résolution de l'écran.

Exemples:
medium/8_full_screen.c.
void MLV_execute_at_exit ( void(*)(void *)  function,
void *  data 
)

Exécute la fonction de call back donnée en paraè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 pointeur de la fonction de call back qui doit etre exécutée.
data Donnné à passer en parametre à la fonction de call back lors de son exécution.
Exemples:
medium/5_exit.c.
void MLV_free_window (  ) 

Ferme la fenêtre de la librairie MLV.

Bogue:
La fonction ecrit le warning suivant :

Error detected by the function unlockPromptInformation() in LibMLV : Probleme de semaphore ( fichier : prompt.c, ligne : 162)

Il s'agit d'un bogues concernant la libération de la memoire qui est mal effectué. Les semaphores des prompts sont liberés avant la fin de l'execution des threads qui l'utilisent.

Cette fonction libère correctement toutes les donées qui ont été crées par la librairie MLV

Exemples:
advanced/11_animation_book.c, advanced/1_texts_and_boxes.c, advanced/2_font.c, advanced/4_sound.c, advanced/6_image.c, advanced/7_transparency.c, advanced/8_zone_click.c, advanced/9_animation.c, beginner/10_library_informations.c, beginner/1_hello_world.c, beginner/2_shapes.c, beginner/4_texts_and_boxes.c, beginner/5_mouse.c, beginner/6_keyboard.c, beginner/7_prompt.c, beginner/8_mouse_keyboard_timer.c, beginner/9_colors.c, medium/1_keyboard_events.c, medium/2_mouse_events.c, medium/3_prompt_events.c, medium/4_events.c, medium/5_exit.c, medium/6_colors.c, medium/7_time.c, medium/8_full_screen.c, et medium/9_keyboard_accents.c.
void MLV_get_window_size ( unsigned int *  width,
unsigned int *  height 
)

Renvoie la taille 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 fenetre.

Renvoie:
Renvoie 1 si l'écran est en mode plein écran, 0 sinon.
Exemples:
medium/8_full_screen.c.