diff options
| -rw-r--r-- | .vscode/c_cpp_properties.json | 16 | ||||
| -rw-r--r-- | include/tinyff/image/generic.h | 30 | ||||
| -rw-r--r-- | include/tinyff/image/png.h | 3 |
3 files changed, 49 insertions, 0 deletions
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..109c8c0 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c99", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-x64" + } + ], + "version": 4 +}
\ No newline at end of file diff --git a/include/tinyff/image/generic.h b/include/tinyff/image/generic.h new file mode 100644 index 0000000..e136027 --- /dev/null +++ b/include/tinyff/image/generic.h @@ -0,0 +1,30 @@ +// This is the generics image header file for tinyff +// It contains generic image structures and definitions + +#include "common.h" +#include "result.h" + +#ifndef GENERIC_IMAGE_H +#define GENERIC_IMAGE_H + + +// The image origin is **not** the origin point of the image +// But rather from what the image was loaded + +typedef enum { + FF_IMAGE_ORIGIN_PNG, +} ff_image_origin; + +// Only the basic information about an image +// Warning: Data is RGBA8888 using scanlines going from top to bottom +typedef struct { + uint32_t width; + uint32_t height; + ff_image_origin origin; + + uint8_t* data; + +} ff_image_ctx; + + +#endif
\ No newline at end of file diff --git a/include/tinyff/image/png.h b/include/tinyff/image/png.h index fd8d29d..0b0bb3b 100644 --- a/include/tinyff/image/png.h +++ b/include/tinyff/image/png.h @@ -10,6 +10,7 @@ #include "tinyff/result.h" #include "tinyff/common.h" #include "tinyff/stream.h" +#include "tinyff/image/generic.h" // External #include "ext/tinf.h" @@ -100,4 +101,6 @@ const ff_png_chunk_handler ff_png_chunk_handlers[] = { ff_result ff_png_isvalid(ff_stream *stream); ff_result ff_open_png(ff_stream *stream, ff_png_ctx **out_ctx); +ff_result ff_png_normalize(ff_png_ctx *ctx, ff_image_ctx **out_data); + #endif |
