/** * \file ppm.h * \brief Fichier d'en-tête pour les fonctions de manipulation d'images ppm * * En-tête contenant la déclaration de fonctions de lecture et d'écriture de * fichiers au format ppm. La définition des fonction se trouve dans \ref ppm.c * */ #ifndef SRC_PPM_H_ #define SRC_PPM_H_ #include "utilities.h" /// \brief Ouvre un fichier avec les autorisations demandées FILE *get_file(const char *t_filename, const char *t_mode); /// \brief Lit le format d’un fichier ppm ouvert void read_file_format(FILE *t_fp, const char *t_filename); /// \brief Vérifie et ignore d’éventuels commentaires du header d’un fichier void check_for_comments(FILE *t_fp); /// \brief Lit les dimensions du fichier ppm ouvert void read_file_size(FILE *t_fp, Image *t_img, const char *t_filename); /// \brief Lit et vérifie le format RGB du fichier ppm void read_rgb(FILE *t_fp, const char *t_filename); /// \brief Lit dans le conteneur les données images du fichier ppm void read_data(FILE *t_fp, uint64_t t_size, uint8_t **t_data, const char *t_filename); /// \brief Convertit les données brutes de fichier vers des conteneurs de pixels void dataToImage(Image *t_img, uint8_t *t_data, uint64_t t_size); /// \brief Convertit les pixels d’une image en tableau natif OpenGL unsigned char *imageToData(Image *t_img); /// \brief Ouverture et lecture de l’image d’entrée int imageLoadPPM(const char *t_filename, Image *t_img); /// \brief Ouverture et écriture de l'image de sortie void imageSavePPM(const char *t_filename, Image *t_img, uint8_t *data); #endif /* SRC_PPM_H_ */