Fxlib.h : Différence entre versions
(→Bdisp_WriteGraph_DD/ Bdisp_WriteGraph_VRAM/ Bdisp_WriteGraph_DDVRAM) |
(→Bdisp_WriteGraph_DD/ Bdisp_WriteGraph_VRAM/ Bdisp_WriteGraph_DDVRAM) |
||
Ligne 132 : | Ligne 132 : | ||
Affiche un bitmap sur la VRAM ou l'écran (ou les deux). Ne renvoie aucune valeur. Les arguments sont passés (par pointeur) dans une structure de la forme : | Affiche un bitmap sur la VRAM ou l'écran (ou les deux). Ne renvoie aucune valeur. Les arguments sont passés (par pointeur) dans une structure de la forme : | ||
+ | |||
''typedef struct tag_DISPGRAPH {'' // Déclarée dans dispbios.h | ''typedef struct tag_DISPGRAPH {'' // Déclarée dans dispbios.h |
Version du 22 juin 2012 à 17:15
Article en cours de rédaction !
|
Sommaire
- 1 Fonctions d'affichage
- 1.1 Bdisp_PutDisp_DD
- 1.2 Bdisp_AllClr_DD/ Bdisp_AllClr_VRAM/ Bdisp_AllClr_DDVRAM
- 1.3 Bdisp_AreaClr_DD/ Bdisp_AreaClr_VRAM/ Bdisp_AreaClr_DDVRAM
- 1.4 Bdisp_AreaReverseVRAM
- 1.5 Bdisp_GetDisp_DD/ Bdisp_GetDisp_VRAM
- 1.6 Bdisp_PutDispArea_DD
- 1.7 Bdisp_SetPoint_DD/ Bdisp_SetPoint_VRAM/ Bdisp_SetPoint_DDVRAM
- 1.8 Bdisp_GetPoint_VRAM
- 1.9 Bdisp_WriteGraph_DD/ Bdisp_WriteGraph_VRAM/ Bdisp_WriteGraph_DDVRAM
Fonctions d'affichage
Bdisp_PutDisp_DD
prototype : void Bdisp_PutDisp_DD(void);
Affiche à l'écran le contenu de la VRAM (buffer stockant le contenu de l'écran virtuel). Ne prend aucun argument et ne renvoie aucune valeur.
Bdisp_AllClr_DD/ Bdisp_AllClr_VRAM/ Bdisp_AllClr_DDVRAM
prototypes :
void Bdisp_AllClr_DD(void);
void Bdisp_AllClr_VRAM(void);
void Bdisp_AllClr_DDVRAM(void);
Ne prend aucun argument et ne renvoie aucune valeur.
Bdisp_AllClr_DDVRAM() efface l'écran et la VRAM. Pour effacer uniquement l'écran, utiliser Bdisp_AllClr_DD(). Pour effacer uniquement la VRAM, utiliser Bdisp_AllClr_VRAM().
Bdisp_AreaClr_DD/ Bdisp_AreaClr_VRAM/ Bdisp_AreaClr_DDVRAM
prototypes :
void Bdisp_AreaClr_DD(const DISPBOX *pArea);
void Bdisp_AreaClr_VRAM(const DISPBOX *pArea);
void Bdisp_AreaClr_DDVRAM(const DISPBOX *pArea);
La fonction ne renvoie aucune valeur.
Efface une partie de l'écran. L'argument à passer (par pointeur) à cette fonction est une structure de la forme :
typedef struct tag_DISPBOX{ // Déclarée dans dispbios.h
int left; // 0~127
int top; // 0~63
int right; // 0~127
int bottom; // 0~63
} DISPBOX;
Bdisp_AreaReverseVRAM
prototype :
void Bdisp_AreaReverseVRAM(
int x1, // coordonnée x à gauche
int y1, // coordonnée y en haut
int x2, // coordonnée x à droite
int y2 // coordonnée y en bas
);
La fonction ne renvoie aucune valeur. Inverse une zone de l'écran (pixel éteint en allumé et allumé en éteint). Passez-lui en argument les coordonnées de la zone à inverser, comme indiqué ci-dessus).
Bdisp_GetDisp_DD/ Bdisp_GetDisp_VRAM
prototypes :
void Bdisp_GetDisp_DD(unsigned char * pData);
void Bdisp_GetDisp_VRAM(unsigned char * pData);
La fonction ne renvoie aucune valeur. Elle permet de stocker dans un tableau le bitmap des écrans de la VRAM (écran virtuel) ou du DD (écran graphique). On lui passe en argument (par pointeur) la 'zone' où le bitmap sera stocké.
La documentation ne précise rien de plus à propos de cette fonction, si ce n'est que le tableau sur lequel est stocké le bitmap doit avoir une taille de 1024 octets. On peut donc penser que la méthode de codage utilisée par Casio est : on regroupe les pixels par groupe de 8 (un octet), où chaque bit prend la valeur d'un pixel (allumé : 1, éteint : 0). Si l'on fait le calcul : (128*64)/8 = 1024.
Bdisp_PutDispArea_DD
prototype : void Bdisp_PutDispArea_DD(const DISPBOX *pArea);
Une des plus belles erreurs de la documentation de Casio ! Dans la doc ils ont mis les explications d'une autre fonction... Cette fonction permet d'afficher à l'écran graphique une zone de l'écran virtuel. On peut tout de même deviner que cette fonction demande en argument une structure (passage par pointeur) de la forme :
typedef struct tag_DISPBOX{ // Déclarée dans dispbios.h
int left; // 0~127
int top; // 0~63
int right; // 0~127
int bottom; // 0~63
} DISPBOX;
Bdisp_SetPoint_DD/ Bdisp_SetPoint_VRAM/ Bdisp_SetPoint_DDVRAM
prototypes :
void Bdisp_SetPoint_DD(int x,int y,unsigned char point);
void Bdisp_SetPoint_VRAM(int x,int y,unsigned char point);
void Bdisp_SetPoint_DDVRAM(int x,int y,unsigned char point);
Place ou supprime un pixel aux coordonnées x et y passées en argument. Ne renvoie aucune valeur. La troisième valeur passée en argument est le type de point : 1 pour mettre un pixel, 0 pour en enlever un. La première fonction permet d'agir sur l'écran graphique, la seconde dans la VRAM, et la troisième dans les deux.
Bdisp_GetPoint_VRAM
prototype : int Bdisp_GetPoint_VRAM(int x,int y);
Retourne la couleur du pixel dont les coordonnées sont passées en argument (1 pour un pixel allumé, 0 pour un pixel éteint).
Bdisp_WriteGraph_DD/ Bdisp_WriteGraph_VRAM/ Bdisp_WriteGraph_DDVRAM
prototypes :
void Bdisp_WriteGraph_DD(const DISPGRAPH *WriteGraph);
void Bdisp_WriteGraph_VRAM(const DISPGRAPH *WriteGraph);
void Bdisp_WriteGraph_DDVRAM(const DISPGRAPH *WriteGraph);
Affiche un bitmap sur la VRAM ou l'écran (ou les deux). Ne renvoie aucune valeur. Les arguments sont passés (par pointeur) dans une structure de la forme :
typedef struct tag_DISPGRAPH { // Déclarée dans dispbios.h
int x; // coordonnée x à gauche
int y; // coordonnée y à gauche
GRAPHDATA GraphData; // pointeur sur la structure contenant les données du bitmap (voir en dessous)
WRITEMODIFY WriteModify; // type d'écriture du graphe (IMB_WRITEMODIFY_NORMAL : écriture normale et IMB_WRITEMODIFY_REVERSE : écriture inverse).
WRITEKIND WriteKind; // mode d'écriture
} DISPGRAPH;
Le mode d'écriture peut être :
OR = allumé si le pixel de l'écran OU le pixel du bitmap sont allumés
AND = allumé si le pixel de l'écran ET le pixel du bitmap sont allumés
XOR = allumé si le pixel de l'écran OU le pixel du bitmap sont allumés, MAIS PAS LES DEUX
La structure contenant les données du bitmap prend cette forme :
typedef struct tag_GRAPHDATA{ // Déclarée dans dispbios.h
int width; // largeur du bitmap
int height; // hauteur du bitmap
unsigned char *pBitmap; // pointeur sur les données du bitmap
} GRAPHDATA;