head 1.1; branch 1.1.1; access ; symbols start:1.1.1.1 PAlibDoc:1.1.1; locks ; strict; comment @# @; 1.1 date 2005.11.02.08.30.34; author jandujar; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.11.02.08.30.34; author jandujar; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @ PA_lib: Bitmap mode, for any screen...

Bitmap mode, for any screen...


Macros

#define PA_Get16bitPixel(screen, x, y)   PA_DrawBg[screen][x + (y << 8)]
 Récupérer la couleur d'un pixel, en mode dessin 16 bit
#define PA_SetDrawSize(screen, draw_size)   PA_drawsize[screen] = draw_size;
 Regler la taille du stylo quand on dessine.
#define PA_Load8bitBitmap(screen, bitmap)   DMA_Copy(bitmap, (void*)PA_DrawBg[screen], 256*96, DMA_16NOW);
 Charger une image à l'écran... pour une fond dessinable de 8 bits
#define PA_Load16bitBitmap(screen, bitmap)
 Charger une image à l'écran... pour une fond dessinable de 16 bits
#define PA_Clear8bitBg(screen)   DMA_Copy(Blank, (void*)PA_DrawBg[screen], 256*96, DMA_16NOW);
 Efface l'écran... pour une fond dessinable de 8 bits
#define PA_Clear16bitBg(screen)   DMA_Copy(Blank, (void*)PA_DrawBg[screen], 256*192, DMA_16NOW)
 Efface l'écran... pour une fond dessinable de 16 bits

Fonctions

void PA_Init8bitBg (bool screen, u8 bg_priority)
 Initialise le mode de dessin 8 bit (avec palette). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM
void PA_Init16bitBg (bool screen, u8 bg_priority)
 Initialise le mode de dessin 16 bit (sans palettes, couleurs RGB). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM
void PA_Put8bitPixel (bool screen, s16 x, s16 y, u8 color)
 Dessine un pixel à l'écran, sur un fond de 8 bits
void PA_Put2_8bitPixels (bool screen, s16 x, s16 y, u16 colors)
 Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment
void PA_PutDouble8bitPixels (bool screen, s16 x, s16 y, u8 color1, u8 color2)
 Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment
void PA_Put4_8bitPixels (bool screen, s16 x, s16 y, u32 colors)
 Dessine 4 pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Façon la plus rapide de dessiner à l'écran
u8 PA_Get8bitPixel (bool screen, u8 x, u8 y)
 Récupérer la couleur d'un pixel, en mode dessin 8 bit
void PA_Put16bitPixel (bool screen, s16 x, s16 y, u16 color)
 Dessine un pixel à l'écran, sur un fond de 16 bits
void PA_Draw8bitLine (bool screen, u16 x1, u16 y1, u16 x2, u16 y2, u8 color)
 Dessiner une ligne en mode dessin... pour le mode dessin 8 bit
void PA_Draw16bitLine (bool screen, u16 x1, u16 y1, u16 x2, u16 y2, u16 color)
 Dessiner une ligne en mode dessin... pour le mode dessin 16 bit
void PA_Draw16bitLineEx (bool screen, s16 basex, s16 basey, s16 endx, s16 endy, u16 color, s8 size)
 Dessiner une ligne épaisse en mode dessin... pour le mode dessin 16 bit
void PA_Draw16bitRect (bool screen, s16 basex, s16 basey, s16 endx, s16 endy, u16 color)
 Dessiner rectangle en mode dessin... pour le mode dessin 16 bit
void PA_8bitDraw (bool screen, u8 color)
 Pour 8 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner...
void PA_16bitDraw (bool screen, u16 color)
 Pour 16 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner...
void PA_LoadJpeg (bool screen, void *jpeg)
 Charger un jpeg sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
void PA_LoadBmpToBuffer (u16 *Buffer, s16 x, s16 y, void *bmp, s16 SWidth)
 Charger un BMP dans un buffer de 16 bit
void PA_LoadBmpEx (bool screen, s16 x, s16 y, void *bmp)
 Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
void PA_LoadBmp (bool screen, void *bmp)
 Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
void PA_LoadGif (bool screen, void *gif)
 Charger un Gif sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
void PA_LoadGBFSImage (bool screen, s16 GBFSImage)
 Charger une image depuis GBFS sur l'écran (16 bit). Support le Gif, Jpeg, et BMP
void PA_LoadGBFSImageToBuffer (void *Buffer, s16 GBFSImage, s16 Width)
u16 PA_GetBmpWidth (void *bmp)
u16 PA_GetBmpHeight (void *bmp)

Description détaillée

Draw on screen, either a pixel or a line, or anything ! Load a Bitmap, a Jpeg...

Documentation des macro

#define PA_Clear16bitBg screen   )     DMA_Copy(Blank, (void*)PA_DrawBg[screen], 256*192, DMA_16NOW)
 

Efface l'écran... pour une fond dessinable de 16 bits

Paramètres:
screen Choix de l'écran (0 ou 1)

#define PA_Clear8bitBg screen   )     DMA_Copy(Blank, (void*)PA_DrawBg[screen], 256*96, DMA_16NOW);
 

Efface l'écran... pour une fond dessinable de 8 bits

Paramètres:
screen Choix de l'écran (0 ou 1)

#define PA_Get16bitPixel screen,
x,
 )     PA_DrawBg[screen][x + (y << 8)]
 

Récupérer la couleur d'un pixel, en mode dessin 16 bit

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
y Position Y. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté

#define PA_Load16bitBitmap screen,
bitmap   ) 
 

Valeur:

{u32 PA_temp; \
for (PA_temp = 0; PA_temp < 256*192; PA_temp++)\
PA_DrawBg[screen][PA_temp] = bitmap[PA_temp] + (1 << 15);}
Charger une image à l'écran... pour une fond dessinable de 16 bits

Paramètres:
screen Choix de l'écran (0 ou 1)
bitmap Nom du bitmap

#define PA_Load8bitBitmap screen,
bitmap   )     DMA_Copy(bitmap, (void*)PA_DrawBg[screen], 256*96, DMA_16NOW);
 

Charger une image à l'écran... pour une fond dessinable de 8 bits

Paramètres:
screen Choix de l'écran (0 ou 1)
bitmap Nom du bitmap

#define PA_SetDrawSize screen,
draw_size   )     PA_drawsize[screen] = draw_size;
 

Regler la taille du stylo quand on dessine.

Paramètres:
screen Choix de l'écran (0 ou 1)
draw_size Taille...


Documentation des fonctions

PA_16bitDraw bool  screen,
u16  color
 

Pour 16 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner...

Paramètres:
screen Choix de l'écran (0 ou 1)
color Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...

PA_8bitDraw bool  screen,
u8  color
 

Pour 8 bit : Jolie petite fonction qui dessine à l'écran ! Tout ce qu'il reste à faire, c'est de choisir la couleur. Si le VBL PA n'est pas initialiser, ne pas oublier de rafraichir le Stylet à chaque cycle (et non, pas avec des glacons !). Il suffit d'executer PA_Draw à chaque cycle pour dessiner...

Paramètres:
screen Choix de l'écran (0 ou 1)
color Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...

void PA_Draw16bitLine bool  screen,
u16  x1,
u16  y1,
u16  x2,
u16  y2,
u16  color
 

Dessiner une ligne en mode dessin... pour le mode dessin 16 bit

Paramètres:
screen Choix de l'écran (0 ou 1)
x1 Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
y1 Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
x2 Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
y2 Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
color Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...

void PA_Draw16bitLineEx bool  screen,
s16  basex,
s16  basey,
s16  endx,
s16  endy,
u16  color,
s8  size
 

Dessiner une ligne épaisse en mode dessin... pour le mode dessin 16 bit

Paramètres:
screen Choix de l'écran (0 ou 1)
basex Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
basey Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
endx Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
endy Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
color Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...
size Largeur du trait, en pixels

void PA_Draw16bitRect bool  screen,
s16  basex,
s16  basey,
s16  endx,
s16  endy,
u16  color
 

Dessiner rectangle en mode dessin... pour le mode dessin 16 bit

Paramètres:
screen Choix de l'écran (0 ou 1)
basex Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
basey Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
endx Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
endy Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
color Couleur de 15 bits.On peut utiliser la macro PA_RGB pour entrer les valeurs RGB...

void PA_Draw8bitLine bool  screen,
u16  x1,
u16  y1,
u16  x2,
u16  y2,
u8  color
 

Dessiner une ligne en mode dessin... pour le mode dessin 8 bit

Paramètres:
screen Choix de l'écran (0 ou 1)
x1 Position X du premier point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
y1 Position Y du premier point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
x2 Position X du deuxième point. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
y2 Position Y du deuxième point. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté
color Couleur de la palette du fond (0-255)

inline u8 PA_Get8bitPixel bool  screen,
u8  x,
u8  y
[inline]
 

Récupérer la couleur d'un pixel, en mode dessin 8 bit

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X. Attention, si X n'est pas compris entre 0 et 255, le résultat ne sera pas celui escompté
y Position Y. Attention, si Y n'est pas compris entre 0 et 191, le résultat ne sera pas celui escompté

void PA_Init16bitBg bool  screen,
u8  bg_priority
 

Initialise le mode de dessin 16 bit (sans palettes, couleurs RGB). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM

Paramètres:
screen Choix de l'écran (0 ou 1)
bg_priority 

void PA_Init8bitBg bool  screen,
u8  bg_priority
 

Initialise le mode de dessin 8 bit (avec palette). Il suffit de choisir l'écran et la priorité de ce font (de 0 à 3). Ce fond sera placé sur le fond 3 (le remplacant), et doit etre chargé avant tout autre fond ! Prend environ 3/8 de la VRAM

Paramètres:
screen Choix de l'écran (0 ou 1)
bg_priority 

inline void PA_LoadBmp bool  screen,
void *  bmp
[inline]
 

Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !

Paramètres:
screen Choix de l'écran (0 ou 1)
bmp image au format BMP...

inline void PA_LoadBmpEx bool  screen,
s16  x,
s16  y,
void *  bmp
[inline]
 

Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X du coin supérieur gauche
y Position Y du coin supérieur gauche
bmp image au format BMP...

void PA_LoadBmpToBuffer u16 *  Buffer,
s16  x,
s16  y,
void *  bmp,
s16  SWidth
 

Charger un BMP dans un buffer de 16 bit

Paramètres:
Buffer Buffer...
x Position X du coin supérieur gauche
y Position Y du coin supérieur gauche
bmp image au format BMP...
SWidth Largeur du buffer, en pixels (256 pour la taille de l'écran...)

inline void PA_LoadGBFSImage bool  screen,
s16  GBFSImage
[inline]
 

Charger une image depuis GBFS sur l'écran (16 bit). Support le Gif, Jpeg, et BMP

Paramètres:
screen Choix de l'écran (0 ou 1)
GBFSImage Numéro de l'image dans GBFS

inline void PA_LoadGif bool  screen,
void *  gif
[inline]
 

Charger un Gif sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !

Paramètres:
screen Choix de l'écran (0 ou 1)
gif image au format Gif...

inline void PA_LoadJpeg bool  screen,
void *  jpeg
[inline]
 

Charger un jpeg sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !

Paramètres:
screen Choix de l'écran (0 ou 1)
jpeg image au format jpeg...

inline void PA_Put16bitPixel bool  screen,
s16  x,
s16  y,
u16  color
[inline]
 

Dessine un pixel à l'écran, sur un fond de 16 bits

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X (0-255)
y Position Y (0-191)
color Couleur de 16 bits, obtenue avec PA_RGB(rouge, vert, bleu)

inline void PA_Put2_8bitPixels bool  screen,
s16  x,
s16  y,
u16  colors
[inline]
 

Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X (0-254), doit etre PAIR
y Position Y (0-191)
colors Couleurs des premier et deuxième pixels (*256 pour le deuxième)

inline void PA_Put4_8bitPixels bool  screen,
s16  x,
s16  y,
u32  colors
[inline]
 

Dessine 4 pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Façon la plus rapide de dessiner à l'écran

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X (0-254), doit etre PAIR
y Position Y (0-191)
colors Couleurs des 4 pixels

inline void PA_Put8bitPixel bool  screen,
s16  x,
s16  y,
u8  color
[inline]
 

Dessine un pixel à l'écran, sur un fond de 8 bits

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X (0-255)
y Position Y (0-191)
color Couleur de la palette du fond (0-255)

inline void PA_PutDouble8bitPixels bool  screen,
s16  x,
s16  y,
u8  color1,
u8  color2
[inline]
 

Dessine deux pixels à l'écran, sur un fond de 8 bits. Ces pixels sont contigus, et le premier doit avoir une position X pair. Beaucoup plus rapide que de dessiner les 2 pixels séparemment

Paramètres:
screen Choix de l'écran (0 ou 1)
x Position X (0-254), doit etre PAIR
y Position Y (0-191)
color1 Couleur de la palette du fond (0-255) pour le premier pixel
color2 Couleur de la palette du fond (0-255) pour le deuxième pixel


Généré le Fri Oct 28 23:18:13 2005 pour PA_lib par  doxygen 1.3.9.1
@ 1.1.1.1 log @Initial import of PalibDoc, begin on PAlib0.64b @ text @@