#ifndef LECTEUR_H
#define LECTEUR_H

//Structure du format d'un texte (utilisé en début de ligne)
typedef struct      {
    u8 fonte, gras, italique, souligne, couleur;
} FORMAT_TEXTE;

//Une ligne de texte
typedef struct      {
    unsigned char *donnees;                 //Pointeur sur le texte
    int x;                                  //Marge en x (les unités sont le pixel sauf contre-indication)
    int y;                                  //Position absolue y dans le texte
    int l;                                  //Largeur
    char alignement;                        //Alignement (gauche, centre, droite)
    FORMAT_TEXTE fmt;                       //Format
} LIGNE_TEXTE;

enum alignements {ALIGN_GAUCHE=0,ALIGN_CENTRE=1,ALIGN_DROITE=2};

//Un objet dans le texte
typedef struct      {
    u8 type;                                //0=rien, 1=image
    int x,y;                                //Positions
    int l,h;                                //Dimensions
    void *donnees;                          //Données de l'objet (de la bitmap en l'occurence)
} OBJET_TEXTE;

//Constantes
#define MAX_LIGNES 1024
#define LARGEUR_LCD 240
#define HAUTEUR_LCD 160
#define MAX_CARACTERES 32768
#define MAX_OBJETS 256

//Analyse le texte et retourne un pointeur sur les lignes de celui-ci.
LIGNE_TEXTE *AnalyseTexte(unsigned char *donnees_texte);
//Dessine une ligne de texte à la position y
void DessineLigne(LIGNE_TEXTE *ligne, s32 y);
//Appel du lecteur de textes avec comme paramètre le nom du fichier à ouvrir.
void LTMain(unsigned char *donnees_texte);

//Fonctions spéciales pour le mode 4
void IN_IWRAM Mode4_EcritPlusDe4Pixels(u32 x, u32 y, u32 nbre, u32 *motif);
void IN_IWRAM Mode4_EcritPlusDe4PixelsMasque(u32 x, u32 y, u32 nbre, u32 *motif, u32 *masque);
void IN_IWRAM DessCar256(u32 x, s32 y, u8 car, u32 couleur);
void IN_IWRAM Mode4_EcritPlusDe4PixelsMasqueCouleur(u32 x, u32 y, u32 nbre, u32 *motif, u32 *masque, u32 couleur);
void IN_IWRAM Mode4_EcritPixel(u32 x, u32 y, u32 couleur);
void IN_IWRAM DessCarItalique256(u32 x, s32 y, u8 car, u32 couleur);

#endif


