From 964429c5755a83d3565d4729e1c7f41170e77b1a Mon Sep 17 00:00:00 2001 From: Clement Sibille Date: Tue, 5 Mar 2024 16:59:28 +0900 Subject: Add documentation --- README.md | 15 +++++++++++++++ lisiblepng/src/lisiblepng.h | 12 ++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6eb528e..dad2d43 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,18 @@ # LisiblePNG - a PNG decoder This PNG decoder is meant to be used in my other C projects. + +## Supported features + +This is a simple implementation of a PNG decoder, it currently implements the following features: +- Greyscale wihout alpha +- Truecolour without alpha, without palette +- 1 to 16 bit depth samples +- All PNG filtering methods + +## Building + +```bash +meson setup +meson compile -C +``` diff --git a/lisiblepng/src/lisiblepng.h b/lisiblepng/src/lisiblepng.h index 549e0a4..2fc1204 100644 --- a/lisiblepng/src/lisiblepng.h +++ b/lisiblepng/src/lisiblepng.h @@ -3,13 +3,21 @@ #include -#define LISIBLE_PNG_COMPUTE_CRC - struct Png; typedef struct Png Png; +/// Parses the provided PNG stream +/// +/// @param stream The PNG stream +/// @returns The parsed PNG as a Png struct pointer or NULL if an error occured. +/// The returned PNG is owned by the caller and must be destroyed with +/// Png_destroy. Png *lis_Png_parse(FILE *stream); +/// Outputs the provided Png struct as a PPM image to stdout +/// +/// @param png The png void lis_Png_dump_ppm(const Png *png); +/// Destroys a Png instance void lis_Png_destroy(Png *png); #endif // LISIBLE_PNG_H -- cgit v1.2.3