Référence du fichier include/nds/arm9/PA_Draw.h

Bitmap mode, for drawing, loading images in 8 or 16 bit mode... Plus de détails...

#include "PA9.h"
#include "PA_Interrupt.h"
#include "PA_Palette.h"
#include "PA_Gif.h"

Structures de données

struct  __PACKED
struct  BMP_Headers

Macros

#define PA_RGB8(r, g, b)   ((((b)>>3)<<10)|(((g)>>3)<<5)|((r)>>3)|(1 << 15))
#define __PACKED
#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 (u8 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_InitBig8bitBg (u8 screen, u8 bg_priority)
 Similaire à PA_Init8bitBg, mais avec une taille de 256x256. Ceci prend un peu plus de mémoire, mais autorise le scrolling vertical.
void PA_8bitSwapBuffer (u8 screen)
void PA_Init8bitDblBuffer (u8 screen, u8 bg_priority)
void PA_Init16bitBg (u8 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_Init16bitDblBuffer (u8 screen, u8 bg_priority)
void PA_16bitSwapBuffer (u8 screen)
void PA_Put8bitPixel (u8 screen, s16 x, s16 y, u8 color)
 Dessine un pixel à l'écran, sur un fond de 8 bits.
void PA_Put2_8bitPixels (u8 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 (u8 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 (u8 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 (u8 screen, u8 x, u8 y)
 Récupérer la couleur d'un pixel, en mode dessin 8 bit.
void PA_Put16bitPixel (u8 screen, s16 x, s16 y, u16 color)
 Dessine un pixel à l'écran, sur un fond de 16 bits.
void PA_Draw8bitLine (u8 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 (u8 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 (u8 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_Draw8bitLineEx (u8 screen, s16 basex, s16 basey, s16 endx, s16 endy, u8 color, s8 size)
 Dessiner une ligne épaisse en mode dessin... pour le mode dessin 8 bit.
void PA_Draw16bitRect (u8 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 (u8 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 (u8 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 (u8 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 (u8 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 (u8 screen, void *bmp)
 Charger un BMP sur un fond de 16 bits... Faut pas oublier de charger ce fond avant !
u16 PA_GetBmpWidth (void *bmpdata)
 Récupérer la largeur d'un BMP en pixels.
u16 PA_GetBmpHeight (void *bmpdata)
 Récupérer la hauteur d'un BMP en pixels.
void PA_8bit8x8Image (u8 screen, u16 basex, u16 basey, u8 *data)

Variables

u8 PA_nBit [2]
u16 tempvar
u16 PA_oldx [2]
u16 PA_oldy [2]
s16 PA_olddowntime [2]
u8 PA_drawsize [2]
u16 * PA_DrawBg [2]
u32 * PA_DrawBg32 [2]
u16 PA_temppal [256]


Description détaillée

Bitmap mode, for drawing, loading images in 8 or 16 bit mode...

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


Documentation des macros

#define __PACKED

#define PA_RGB8 ( r,
g,
 )     ((((b)>>3)<<10)|(((g)>>3)<<5)|((r)>>3)|(1 << 15))


Documentation des fonctions

void PA_8bit8x8Image ( u8  screen,
u16  basex,
u16  basey,
u8 *  data 
) [inline]


Documentation des variables

u16* PA_DrawBg[2]

u32* PA_DrawBg32[2]

u8 PA_drawsize[2]

u8 PA_nBit

u16 PA_oldx[2]

u16 PA_oldy[2]

u16 PA_temppal[256]

u16 tempvar


Généré le Sat Jun 13 12:56:59 2009 pour PAlib - Programmer's Arsenal par  doxygen 1.5.8