PAlib: Text output system

Page principale | Modules | Liste des fichiers | Portée globale | Rechercher

# Text output system

## Macros

#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

## Fonctions

void | PA_InitText (bool screen, u8 bg_select)
| Ecrire du texte à l'écran. Ne marche qu'en modes 0-2
void | PA_SetTileLetter (bool screen, u16 x, u16 y, char letter)
| Ecrire une lettre à l'écran.
void | PA_SetTextTileCol (bool screen, u8 color)
| Change la couleur du texte à écrire (ne change pas la couleur du texte déjà écrit)
void | PA_OutputText (bool screen, u16 x, u16 y, char *text,...)
| Ecrire du texte à l'écran. Ne marche qu'en modes 0-2
u16 | PA_OutputSimpleText (bool 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 (bool 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 (bool 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 (bool screen, u16 r, u16 g, u16 b)
| Changer la couleur de base du texte à l'écran
s16 | PA_SmartText (bool 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 (bool 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é...
bool | PA_CompareText (char *text1, char *text2)
| Comparer une chaine de caractère à une autre. Exemple : PA_CompareText(Playname, "Mollusk");
void | PA_CopyText (char *text1, char *text2)
| Comparer une chaine de caractère à une autre. Exemple : PA_CompareText(Playname, "Mollusk");
void | PA_InitTextBorders (bool 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 (bool screen)
| Efface le text d'un boite à texte... Nécessite qu'il ait été initialisé avec PA_InitTextBorders
u32 | PA_SimpleBoxText (bool 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 (bool screen)
| Effacer tout le texte sur un écran donné
void | PA_OutputTextSpecial0 (bool screen, int x1, int y, char *text)
void | PA_OutputTextSpecial1 (bool screen, int x1, int y, char *text)
void | PA_OutputTextSpecial2 (bool screen, int x1, int y, char *text)
void | PA_OutputTextSpecial3 (bool screen, int x1, int y, char *text)
void | PA_OutputTextSpecial4 (bool screen, int x1, int y, char *text)
void | PA_OutputTextSpecial5 (bool screen, int x1, int y, char *text)

## Description détaillée

Allows you to output text...

## Documentation des macro

#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_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_BoxText | ( | bool | 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 | ( | bool | 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 | ( | bool | 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.

inline void PA_ClearTextBg | ( | bool | screen | ) | `[inline]`

Effacer tout le texte sur un écran donné

Paramètres:

  | screen | Choix de l'écran (0 ou 1)

inline bool 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 | ( | bool | 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 | ( | bool | 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 | ( | bool | 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 | ( | bool | 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 | ( | bool | 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);

inline void PA_SetTextCol | ( | bool | 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 | ( | bool | 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 void PA_SetTileLetter | ( | bool | screen,
|  | u16 | x,
|  | u16 | y,
|  | char | letter
| ) | `[inline]`

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

inline u32 PA_SimpleBoxText | ( | bool | 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 | ( | bool | 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....