MonochromeLib : Différence entre versions
Ligne 8 : | Ligne 8 : | ||
|data3=[[C]] | |data3=[[C]] | ||
|label4=Environnement | |label4=Environnement | ||
− | |data4=[Graph 75/85/95] | + | |data4=[[:Catégorie:Graph 75/85/95|Graph 75/85/95]] |
|label5=Licence | |label5=Licence | ||
|data5=Open source | |data5=Open source |
Version du 17 avril 2014 à 16:51
Type | Bibliothèque logicielle |
Dévelopeur | PierrotLL |
langage | C |
Environnement | Graph 75/85/95 |
Licence | Open source |
Dernière version | 22 novembre 2011 |
MonochromeLib est une bibliothèque de dessin graphique pour le SDK Casio Graph 85.
Elle fournit aux développeurs des fonctions optimisées pour tracer toute sorte de choses à l'écran.
Chaque fonction de MonochromeLib est bien plus rapide que son équivalent dans fxlib.h, et elle fournit de nombreuses fonctionnalités supplémentaires. La dernière version date du 22 novembre 2011.
Sommaire
[masquer]Fonctionnalités
Monochromelib permet de dessiner dans la VRAM divers formes géométriques (point, ligne, polygone, ellipse) ainsi que des images au format bitmap monochrome.
Comment l'utiliser ?
Pour utiliser la bibliothèque, copiez les 2 fichiers dans le dossier de votre projet, ajoutez MonochromeLib.c à votre projet (dans la fenêtre "Files in project" dans le SDK), ajoutez #include "MonochromeLib.h" au début de votre code. Pour n'ajouter à votre projet que les fonctions dont vous avez besoin, chaque fonction est protégée par un #ifdef, et les #define de chaque fonction sont commentés par défaut. Pour pouvoir utiliser une fonction, il suffit d'éditer MonochromeLib.h et de décommenter les #define des fonctions que vous voulez utiliser.
!!!Important!!! Si vous rencontrez une erreur de compilation de ce type :
** L2310 (E) Undefined external symbol "_ML_pixel" referenced in "C:\...\CASIO\fx-9860G SDK\Projet\Debug\MonochromeLib.obj"
et que le #define de la fonction en question est bien actif dans MonochromeLib.h, alors il faut juste recompiler MonochromeLib.c Pour cela, Utilisez la fonction Project > Rebuilt all dans le SDK. Si cela ne résoud pas le problème, supprimez le dossier Debug de votre projet, et recompilez normalement.
Fonctions
ML_clear_vram()
Prototype:
void ML_clear_vram();
Efface la VRAM. Cette fonction est 5 fois plus rapide que Bdisp_AllClr_VRAM.
ML_clear_screen()
Prototype:
void ML_clear_screen();
Efface l'écran. Cette fonction est 2 fois plus rapide que Bdisp_AllClr_DD. Remarque : Il est inutile d'appeler ML_clear_screen juste avant ML_display_vram.
ML_display_vram()
Prototype:
void ML_display_vram();
Copie le contenu de la VRAM à l'écran. Cette fonction est 2 fois plus rapide que Bdisp_PutDisp_DD. Remarque : Il est inutile d'appeler ML_clear_screen juste avant ML_display_vram.
ML_Set_Contrast()
Prototype:
void ML_set_contrast(unsigned char contrast);
Permet de définir la valeur du contraste. Celle ci doit être comprise entre ML_CONTRAST_MIN et ML_CONTRAST_MAX.
ML_get_contrast()
Prototype:
unsigned char ML_get_contrast();
Retourne la valeur actuelle du contraste.
ML_pixel()
Prototype:
void ML_pixel(int x, int y, ML_Color color);
Permet de définir la couleur d'un pixel de la VRAM. Le pixel en haut à gauche de l'écran a pour coordonnées (x=0, y=0), et le pixel en bas à droite (x=127, y=63).
ML_point()
Prototype:
void ML_point(int x, int y, int width, ML_Color color);
Dessine un point (carré) dans la VRAM, de centre (x, y), dont la longueur des coté (en pixel) est définie par width. Ex:
ML_point(10, 10, 3, ML_BLACK);
dessinera un rectangle noir allant de (9, 9) à (11, 11).
ML_pixel_test()
Prototype:
ML_Color ML_pixel_test(int x, int y);
Retourne la couleur du pixel aux coordonnées (x, y), ML_BLACK ou ML_WHITE. Si les coordonnées sont en dehors de l'écran, la fonction retourne ML_TRANSPARENT.
La couleur : ML_Color
Prototype:
typedef enum {ML_TRANSPARENT=-1, ML_WHITE, ML_BLACK, ML_XOR, ML_CHECKER} ML_Color;
ML_Color est une énumération des différentes couleurs utilisables avec MonochromeLib.
Seul ML_TRANSPARENT a une valeur définie à -1, le compilateur donne donc aux autres les valeurs suivantes :
ML_TRANSPARENT = -1
ML_WHITE = 0
ML_BLACK = 1
ML_XOR = 2
ML_CHECKER = 3
ML_XOR permet d'inverser la couleur déjà présente dans la VRAM. ML_CHECKER est une couleur "damier". Elle rend 1 pixel sur 2 blanc, et l'autre noir, selon la rêgle suivante : si (x et y sont pair) ou (x et y sont impairs), alors le pixel devient noir, sinon il devient blanc.