#ifndef FONTS_UTILS_H
#define FONTS_UTILS_H

/* calculer le rectangle que va occuper le texte */
/* (!) On lui demande de placer le texte en (0,0) 
 *     mais c'est le *bas gauche* (et pas haut gauche) qui est en (0,0)
 *     et de plus il tente de calculer, donc ça peut
 *     déborder sur la droite *comme sur la gauche*.
 *     Exemple de valeurs possibles (surprenantes mais *possibles*) :
 *     --
 *     Fonte : Typewriter-Serial-RegularItalicDB.ttf
 *     Bas, gauche  = (-1,2)    |  b[0], b[1]
 *     Bas, droit   = (80,2)    |  b[2], b[3]
 *     Haut, droit  = (80,-21)  |  b[4], b[5]
 *     Haut, gauche = (-1,-21)  |  b[6], b[7]
 *     --
 *     Fonte : Baveuse3d.ttf
 *     Bas, gauche  = (-1,4)    |  b[0], b[1]
 *     Bas, droit   = (115,4)   |  b[2], b[3]
 *     Haut, droit  = (115,-23) |  b[4], b[5]
 *     Haut, gauche = (-1,-23)  |  b[6], b[7]
 *     --
 *     Fonte : KisItalicBT.ttf
 *     Bas, gauche  = (-3,9)
 *     Bas, droit   = (344,9)
 *     Haut, droit  = (344,-20)
 *     Haut, gauche = (-3,-20)
 *     
 *    b[6], b[7]   b[4], b[5] 
 *     (-3,-20)     (344,-20)
 *        +-----------+
 *        |           |
 *        |           |
 *        +-----------+
 *     (-3,9)       (344,9)
 *    b[0], b[1]   b[2], b[3] 
 *     
 *     Largeur = (344)-(-3) = 347
 *     Hauteur = (9)-(-20)  = 29
 *     => largeur = b[2]-b[6];
 *     => hauteur = b[3]-b[7];
 */

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>

/**
 * (!) Ces fontes, qui sont celles utilisées par défaut,
 *     sont à définir dans le programme lui
 *     même ("main.c" ou autre) mais ne sont pas
 *     définies ici :
 */
extern int taille_texte(int *brect, char *texte,
                        int couleur, double taille_fonte,
                        long int *taille_texte_x, long int *taille_texte_y,
                        char *fonte, char *buffer_erreur,
                        int maxlen_erreur);

extern int ecrire_texte(gdImagePtr img_dst, char *texte,
                        int dest_x, int dest_y, int couleur,
                        double taille_fonte, long int *taille_texte_x,
                        long int *taille_texte_y, char *fonte,
                        char *buffer_erreur, int maxlen_erreur);

#endif                          /* define FONTS_UTILS_H */
