Documentation de la bibliothèque MLV-0.5

Liste des bogues

Global(e) MLV_build_path (const char *first_element,...)
Cette fonction ne fait que concatener les differentes chaines en en mettant entre chaque chaine un separateur de repertoire compatible avec le systeme d'exploitation. Par contre, ce qui constitue le bug, il ne convertit pas chache chaine dans un format compatible avec celui du système d'exploitation.

Global(e) MLV_create_prompt (int sommetHautGaucheX, int sommetHautGaucheY, int width, int height, MLV_Color borderColor, MLV_Color textColor, MLV_Color backgroundColor, const char *informativeMessage)
Les prompt n'utilisent pas la meme police que les autres textes de la librairie MLV. Ce bug devrait disparaitre prochainement.

Global(e) MLV_create_window (const char *window_name, const char *icone_name, unsigned int width, unsigned int height)
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.

Global(e) 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 bogues que la fonction MLV_create_window.

Global(e) MLV_free_window ()
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.

Global(e) MLV_get_event (int *key_sym, int *key_mod, int *unicode, char **texte, MLV_Prompt **prompt, int *mouse_x, int *mouse_y, int *mouse_button, int *state)

Il est possible que la recuperation du caractere unicode sous windows ne fonctionne pas. En effet, aucun code de portage spécifique n'a été fait à ce sujet.

Les evenement utilisant les touches speciale key_mod, ne fonctionnent pas correctement sous debian et fedora, alors que tout focntionne correctement sous Ubuntu.

Global(e) MLV_load_animation_book (const char *xml_file, const char *image_directory, const char *sound_directory)
Lorsque le fichier xml contient des données corrompus, la fonction ne le detecte pas, continu de travailler avec les données corrompu et finie par faire une erreur de segmentation.

Global(e) MLV_load_image (const char *file_image)

Cette fonction provoque une erreur de segmentation, si elle est utilisée avant MLV_create_window(). Pour l'instant, nous vous conseillons d'utiliser cette fonction apres MLV_create_windows().

Il est possible que cette fonction n'arrive pas à charger correctement les images qui ne sont pas en 32 bits (RGBA) - bug à tester.

BUG PRESENT SOUS WINDOWS ET MACOSX : Lorsque la composante alpha d'un pixel est à 0, MLV_load_image met à 0 les composantes Rouge, Verte et bleue du pixel associé. Ce bug provient de la librairie SDL_image.

Global(e) MLV_save_image_as_bmp (const MLV_Image *image, const char *file_image)
Cette fonction ne sauvegarde pas la composante alpha.

Global(e) MLV_wait_prompt (int sommetHautGaucheX, int sommetHautGaucheY, int sommetBasDroitX, int sommetBasDroitY, MLV_Color borderColor, MLV_Color textColor, MLV_Color backgroundColor, const char *informativeMessage, char **text)
Les prompt n'utilisent pas la meme police que les autres textes de la librairie MLV. Ce bug devrait disparaitre prochainement.