MonochromeLib

De Casio Universal Wiki
Aller à : navigation, rechercher
MonochromeLib
TypeBibliothèque logicielle
DévelopeurPierrotLL
langageC
EnvironnementGraph 75/85/95
LicenceOpen source
Dernière version22 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.

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.

Liens externes

Télécharger MonochromeLib