Documentation de la bibliothèque MLV-2.0.2

Liste des bogues
globalScope> Global(e) MLV_build_path (const char *first_element,...)
Cette fonction ne fait que concaténer les differentes chaînes en mettant entre chaque chaîne un séparateur de répertoire compatible avec le système d'exploitation. Par contre, ce qui constitue le bug, il ne convertit pas chaque chaîne dans un format compatible avec celui du système d'exploitation.
globalScope> Global(e) MLV_create_full_screen_window (const char *window_name, const char *icone_name, unsigned int width, unsigned int height)
Même bogues que MLV_create_window().
globalScope> Global(e) 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 bogues que MLV_create_window().
globalScope> Global(e) MLV_create_window (const char *window_name, const char *icone_name, unsigned int width, unsigned int height)
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.
globalScope> 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().
globalScope> Global(e) 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)

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.

Sous WINDOWS, le clavier est configuré en "qwerty".

globalScope> 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_window().

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 MACOS X : 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 bibliothèque SDL_image.

globalScope> Global(e) MLV_save_image_as_bmp (const MLV_Image *image, const char *file_image)
Cette fonction ne sauvegarde pas la composante alpha.
globalScope> Global(e) 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)
Voir les bugs de la fonction MLV_get_event().
globalScope> Global(e) 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)
Voir les bugs de la fonction MLV_get_event().
globalScope> Global(e) MLV_wait_keyboard (MLV_Keyboard_button *sym, MLV_Keyboard_modifier *mod, int *unicode)
Voir les bugs de la fonction MLV_get_event().
globalScope> Global(e) MLV_wait_keyboard_or_mouse (MLV_Keyboard_button *sym, MLV_Keyboard_modifier *mod, int *unicode, int *mouse_x, int *mouse_y)
Voir les bugs de la fonction MLV_get_event().
globalScope> Global(e) 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)
Voir les bugs de la fonction MLV_get_event().
globalScope> Global(e) MLV_wait_keyboard_or_seconds (MLV_Keyboard_button *sym, MLV_Keyboard_modifier *mod, int *unicode, int seconds)
Voir les bugs de la fonction MLV_get_event().