Text output system


Macros

#define PA_SetTileLetter(screen, x, y, letter)   PA_SetMapTileAll(screen, PAbgtext[screen], x, y, (PA_textmap[screen][(u16)letter]&((1<<12)-1)) + (PAtext_pal[screen] << 12))
 Ecrire une lettre à l'écran.
#define PA_InitCustomText(screen, bg_select, text)   PA_InitCustomTextEx(screen, bg_select, text##_Tiles, text##_Map, text##_Pal)
 Initialiser le texte en utilisant une police perso.
#define PA_ShowFont(screen)   PA_LoadBgMap(screen, PAbgtext[screen], (void*)PA_textmap[screen], BG_256X256)
 Affiche la police utilisée. C'est juste utile pour du débuggage, aucun intéret autrement.
#define PA_8bitCustomFont(bit8_slot, bit8_font)
 Ajouter une police perso dans le systeme de texte 8bit !! Doit être convertie avec PAGfx.

Fonctions

void PA_InitText (u8 screen, u8 bg_select)
 Ecrire du texte à l'écran. Ne marche qu'en modes 0-2.
void PA_SetTextTileCol (u8 screen, u8 color)
 Change la couleur du texte à écrire (ne change pas la couleur du texte déjà écrit).
void PA_OutputText (u8 screen, u16 x, u16 y, char *text,...)
 Ecrire du texte à l'écran. Ne marche qu'en modes 0-2.
u16 PA_OutputSimpleText (u8 screen, u16 x, u16 y, const char *text)
 Ecrire du texte tout simple à l'écran. Ne marche qu'en modes 0-2. Beaucoup plus rapide que PA_OutputText, masi aussi beaucoup plus limité... Renvoie le nombre de lettres.
u32 PA_BoxText (u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit)
 Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nmobre de lettre écrites.
u32 PA_BoxTextNoWrap (u8 screen, u16 basex, u16 basey, u16 maxx, u16 maxy, const char *text, u32 limit)
 Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nombre de lettre écrites. Cette fonction coupe les mots...
void PA_SetTextCol (u8 screen, u16 r, u16 g, u16 b)
 Changer la couleur de base du texte à l'écran.
s16 PA_8bitText (u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, char *text, u8 color, u8 size, u8 transp, s32 limit)
 Cette fonction permet d'écrire du texte à chasse variable à l'écran. Elle nécessite d'avoir un fond dessinable de 8 bits (cf PA_Init8bitBg). Les options sont la taille, la transparence, et les limites, ainsi que la couleur. Seul inconvénient : il n'accepte pas les commande comme d, etc... La fonction renvoie le nombre de charactères écrits.
s16 PA_16bitText (u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, char *text, u16 color, u8 size, u8 transp, s32 limit)
s16 PA_CenterSmartText (u8 screen, s16 basex, s16 basey, s16 maxx, s16 maxy, char *text, u8 color, u8 size, u8 transp)
 En gros la meme chose que SmartText, mais en centré...
void PA_CopyText (char *text1, char *text2)
 Comparer une chaine de caractère à une autre. Exemple : PA_CompareText(Playname, "Mollusk");.
void PA_InitTextBorders (u8 screen, u8 x1, u8 y1, u8 x2, u8 y2)
 Initialise une boite à texte, avec la bordure. Ceci rend l'utilisation des textes délimités bien plus simple.
void PA_EraseTextBox (u8 screen)
 Efface le text d'un boite à texte... Nécessite qu'il ait été initialisé avec PA_InitTextBorders.
u32 PA_SimpleBoxText (u8 screen, const char *text, u32 limit)
 Ecrit du texte dans une zone délimitée. Similaire à PA_BoxText, mais sans avoir besoin de délimiter.
void PA_ClearTextBg (u8 screen)
 Effacer tout le texte sur un écran donné.
void PA_Print (u8 screen, char *text,...)
 Ecrire du texte à l'écran. Marche comme la fonction printf.
void PA_PrintLetter (u8 screen, char letter)
 Comme PA_Print, mais juste pour une lettre.
void PA_OutputTextSpecial0 (u8 screen, int x1, int y, char *text)
void PA_OutputTextSpecial1 (u8 screen, int x1, int y, char *text)
void PA_OutputTextSpecial2 (u8 screen, int x1, int y, char *text)
void PA_OutputTextSpecial3 (u8 screen, int x1, int y, char *text)
void PA_OutputTextSpecial4 (u8 screen, int x1, int y, char *text)
void PA_OutputTextSpecial5 (u8 screen, int x1, int y, char *text)

Description détaillée

Allows you to output text...

Documentation des macros

#define PA_8bitCustomFont ( bit8_slot,
bit8_font   ) 

Valeur :

{\
        bittext_maps[bit8_slot] = (u16*)(void*)bit8_font##_Map;         \
        bit8_tiles[bit8_slot] = (u8*)bit8_font##_Tiles; \
        pa_bittextdefaultsize[bit8_slot] = (u8*)bit8_font##_Sizes;      \
        pa_bittextpoliceheight[bit8_slot] = bit8_font##_Height;\
}
Ajouter une police perso dans le systeme de texte 8bit !! Doit être convertie avec PAGfx.

Paramètres:
bit8_slot Slot pour ajouter la police. Les slots 0-4 sont utilisés pour les polices par défaut de PAlib, et 5-9 sont libres. On peut néanmoins charger par-dessus les polices PAlib si on veut
bit8_font Nom de la police...

#define PA_InitCustomText ( screen,
bg_select,
text   )     PA_InitCustomTextEx(screen, bg_select, text##_Tiles, text##_Map, text##_Pal)

Initialiser le texte en utilisant une police perso.

Paramètres:
screen Choix de l'écran (0 ou 1)
bg_select Numéro du fond...
text Image de la police, converti avec PAGfx

#define PA_SetTileLetter ( screen,
x,
y,
letter   )     PA_SetMapTileAll(screen, PAbgtext[screen], x, y, (PA_textmap[screen][(u16)letter]&((1<<12)-1)) + (PAtext_pal[screen] << 12))

Ecrire une lettre à l'écran.

Paramètres:
screen Choix de l'écran (0 ou 1)
x Coordonnée X en TILES (0-31) où afficher la lettre
y Coordonnée Y en TILES (0-19) où afficher la lettre
letter Lettre... 'a', 'Z', etc...

#define PA_ShowFont ( screen   )     PA_LoadBgMap(screen, PAbgtext[screen], (void*)PA_textmap[screen], BG_256X256)

Affiche la police utilisée. C'est juste utile pour du débuggage, aucun intéret autrement.

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


Documentation des fonctions

s16 PA_16bitText ( u8  screen,
s16  basex,
s16  basey,
s16  maxx,
s16  maxy,
char *  text,
u16  color,
u8  size,
u8  transp,
s32  limit 
)

s16 PA_8bitText ( u8  screen,
s16  basex,
s16  basey,
s16  maxx,
s16  maxy,
char *  text,
u8  color,
u8  size,
u8  transp,
s32  limit 
)

Cette fonction permet d'écrire du texte à chasse variable à l'écran. Elle nécessite d'avoir un fond dessinable de 8 bits (cf PA_Init8bitBg). Les options sont la taille, la transparence, et les limites, ainsi que la couleur. Seul inconvénient : il n'accepte pas les commande comme d, etc... La fonction renvoie le nombre de charactères écrits.

Paramètres:
screen Choix de l'écran (0 ou 1)
basex Coordonnée X du coin supérieur gauche
basey Coordonnée Y du coin supérieur gauche
maxx Coordonnée X du coin inférieur droit
maxy Coordonnée Y du coin inférieur droit
text Texte, tel que "Hello World"
color Couleur de la palette à utiliser (0-255)
size Taille du texte, de 0 (vraiment petit) à 4 (assez grand)
transp Transparence. Mettre à 0 effecera tout dessin de la zone de texte. 1 écrira le texte par-dessus le dessin sans l'effacer. 2 n'écrira rien (juste pour compter les lettres). 3 fera un texte tourné à 90°. 4 est un texte tourné dans l'autre sens.
limit On peut fixer une limite au nombre de caractères. Ceci peut etre utile pour dessiner un texte progressivement, en augmentant de 1 le nombre de caractères à chaque boucle....

u32 PA_BoxText ( u8  screen,
u16  basex,
u16  basey,
u16  maxx,
u16  maxy,
const char *  text,
u32  limit 
)

Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nmobre de lettre écrites.

Paramètres:
screen Choix de l'écran (0 ou 1)
basex Coordonnée X en TILES (0-31) où commencer à afficher le text
basey Coordonnée Y en TILES (0-19) où commencer à afficher le text
maxx Coordonnée X en TILES (0-31) où finir d'afficher le text
maxy Coordonnée Y en TILES (0-19) où finir d'afficher le text
text Chaine de caractère à écrire.
limit Nombre maximum de lettres à afficher pour ce coup-ci

u32 PA_BoxTextNoWrap ( u8  screen,
u16  basex,
u16  basey,
u16  maxx,
u16  maxy,
const char *  text,
u32  limit 
)

Permet d'écrire du texte à l'écran, dans une boite délimitée au choix, et en choisissant le nombre de lettres à afficher (peut être utile pour afficher du texte en train de se taper, sinon suffit de mettre 10000 pour afficher tout d'un coup) Renvoie le nombre de lettre écrites. Cette fonction coupe les mots...

Paramètres:
screen Choix de l'écran (0 ou 1)
basex Coordonnée X en TILES (0-31) où commencer à afficher le text
basey Coordonnée Y en TILES (0-19) où commencer à afficher le text
maxx Coordonnée X en TILES (0-31) où finir d'afficher le text
maxy Coordonnée Y en TILES (0-19) où finir d'afficher le text
text Chaine de caractère à écrire.
limit Nombre maximum de lettres à afficher pour ce coup-ci

s16 PA_CenterSmartText ( u8  screen,
s16  basex,
s16  basey,
s16  maxx,
s16  maxy,
char *  text,
u8  color,
u8  size,
u8  transp 
)

En gros la meme chose que SmartText, mais en centré...

Paramètres:
screen Choix de l'écran (0 ou 1)
basex Coordonnée X du coin supérieur gauche
basey Coordonnée Y du coin supérieur gauche
maxx Coordonnée X du coin inférieur droit
maxy Coordonnée Y du coin inférieur droit
text Texte, tel que "Hello World"
color Couleur de la palette à utiliser (0-255)
size Taille du texte, de 0 (vraiment petit) à 4 (assez grand)
transp Transparence. Mettre à 0 effecera tout dessin de la zone de texte. 1 écrira le texte par-dessus le dessin sans l'effacer. 2 n'écrira rien (juste pour compter les lettres). 3 fera un texte tourné à 90°. 4 est un texte tourné dans l'autre sens.

void PA_ClearTextBg ( u8  screen  ) 

Effacer tout le texte sur un écran donné.

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

inline void PA_CopyText ( char *  text1,
char *  text2 
) [inline]

Comparer une chaine de caractère à une autre. Exemple : PA_CompareText(Playname, "Mollusk");.

Paramètres:
text1 Chaine à changer
text2 Chaine à copier dans l'autre

void PA_EraseTextBox ( u8  screen  ) 

Efface le text d'un boite à texte... Nécessite qu'il ait été initialisé avec PA_InitTextBorders.

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

void PA_InitText ( u8  screen,
u8  bg_select 
)

Ecrire du texte à l'écran. Ne marche qu'en modes 0-2.

Paramètres:
screen Choix de l'écran (0 ou 1)
bg_select Numéro du fond que l'on veut tourner (0-3)

void PA_InitTextBorders ( u8  screen,
u8  x1,
u8  y1,
u8  x2,
u8  y2 
)

Initialise une boite à texte, avec la bordure. Ceci rend l'utilisation des textes délimités bien plus simple.

Paramètres:
screen Choix de l'écran (0 ou 1)
x1 Limite gauche en tiles
y1 Haut
x2 Droite
y2 Bas

u16 PA_OutputSimpleText ( u8  screen,
u16  x,
u16  y,
const char *  text 
)

Ecrire du texte tout simple à l'écran. Ne marche qu'en modes 0-2. Beaucoup plus rapide que PA_OutputText, masi aussi beaucoup plus limité... Renvoie le nombre de lettres.

Paramètres:
screen Choix de l'écran (0 ou 1)
x Coordonnée X en TILES (0-31) où commencer à afficher le text
y Coordonnée Y en TILES (0-19) où commencer à afficher le text
text Chaine de caractère à écrire.

void PA_OutputText ( u8  screen,
u16  x,
u16  y,
char *  text,
  ... 
)

Ecrire du texte à l'écran. Ne marche qu'en modes 0-2.

Paramètres:
screen Choix de l'écran (0 ou 1)
x Coordonnée X en TILES (0-31) où commencer à afficher le text
y Coordonnée Y en TILES (0-19) où commencer à afficher le text
text Chaine de caractère à écrire. On dispose des commandes suivantes : %s pour une autre chaine de caractères, %d pour écrire la valeur d'une variables, %fX pour afficher un nombre avec X chiffres après la virgule, \n pour aller à la ligne. Voici un exemple : PA_OutputText(0, 0, 1, "Mon nom est %s et je n'ai que %d dents...", "Mollusk", 20);

void PA_OutputTextSpecial0 ( u8  screen,
int  x1,
int  y,
char *  text 
)

void PA_OutputTextSpecial1 ( u8  screen,
int  x1,
int  y,
char *  text 
)

void PA_OutputTextSpecial2 ( u8  screen,
int  x1,
int  y,
char *  text 
)

void PA_OutputTextSpecial3 ( u8  screen,
int  x1,
int  y,
char *  text 
)

void PA_OutputTextSpecial4 ( u8  screen,
int  x1,
int  y,
char *  text 
)

void PA_OutputTextSpecial5 ( u8  screen,
int  x1,
int  y,
char *  text 
)

void PA_Print ( u8  screen,
char *  text,
  ... 
)

Ecrire du texte à l'écran. Marche comme la fonction printf.

Paramètres:
screen Choix de l'écran (0 ou 1)
text Chaine de caractère à écrire. On dispose des commandes suivantes : %s pour une autre chaine de caractères, %d pour écrire la valeur d'une variables, %fX pour afficher un nombre avec X chiffres après la virgule, \n pour aller à la ligne. Voici un exemple : PA_OutputText(0, 0, 1, "Mon nom est %s et je n'ai que %d dents...", "Mollusk", 20);

inline void PA_PrintLetter ( u8  screen,
char  letter 
) [inline]

Comme PA_Print, mais juste pour une lettre.

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

inline void PA_SetTextCol ( u8  screen,
u16  r,
u16  g,
u16  b 
) [inline]

Changer la couleur de base du texte à l'écran.

Paramètres:
screen Choix de l'écran (0 ou 1)
r Quantité de rouge (0-31)
g Quantité de vert (0-31)
b Quantité de bleu (0-31)

inline void PA_SetTextTileCol ( u8  screen,
u8  color 
) [inline]

Change la couleur du texte à écrire (ne change pas la couleur du texte déjà écrit).

Paramètres:
screen Choix de l'écran (0 ou 1)
color Couleur de 0 à 6, suffit de tester pour voir le résultat :)

inline u32 PA_SimpleBoxText ( u8  screen,
const char *  text,
u32  limit 
) [inline]

Ecrit du texte dans une zone délimitée. Similaire à PA_BoxText, mais sans avoir besoin de délimiter.

Paramètres:
screen Choix de l'écran (0 ou 1)
text Chaine de caractère à écrire.
limit Nombre maximum de lettres à afficher pour ce coup-ci


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