surfaces-unies/src/ppm.h

38 lines
1.6 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* \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 dun fichier ppm ouvert
void read_file_format(FILE *t_fp, const char *t_filename);
/// \brief Vérifie et ignore déventuels commentaires du header dun 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 dune image en tableau natif OpenGL
unsigned char *imageToData(Image *t_img);
/// \brief Ouverture et lecture de limage dentré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_ */