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, s32 limit)
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_SmartText (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_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)
u8 PA_CompareText (char *text1, char *text2)
 Comparer une chaine de caractère à une autre. Exemple : PA_CompareText(Playname, "Mollusk");

Description détaillée

Allows you to output text...

Documentation des macro

#define PA_8bitCustomFont bit8_slot,
bit8_font   ) 
 

Valeur:

{\
       text_maps[bit8_slot] = (u16*)(void*)bit8_font##_Map;           \
       text_tiles[bit8_slot] = (u8*)bit8_font##_Tiles;  \
       pa8bitdefaultsize[bit8_slot] = (u8*)bit8_font##_Sizes;  \
       police8bitheight[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

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 u8 PA_CompareText char *  text1,
char *  text2
[inline]
 

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

Paramètres:
text1 Première chaine
text2 Seconde chaine...

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_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

s16 PA_SmartText 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....


Généré le Tue Jan 30 23:10:51 2007 pour PAlib par  doxygen 1.3.9.1