mirror of
https://gitlab.com/Nanolx/homebrewfilter.git
synced 2024-12-01 05:24:21 +01:00
43 lines
1020 B
C
43 lines
1020 B
C
|
#ifndef __PNGU_I__
|
||
|
#define __PNGU_I__
|
||
|
|
||
|
#include "png.h"
|
||
|
|
||
|
// Constants
|
||
|
#define PNGU_SOURCE_BUFFER 1
|
||
|
#define PNGU_SOURCE_DEVICE 2
|
||
|
|
||
|
// Prototypes of helper functions
|
||
|
int pngu_info (IMGCTX ctx);
|
||
|
int pngu_decode (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, PNGU_u32 stripAlpha);
|
||
|
int pngu_decode_add_alpha (IMGCTX ctx, PNGU_u32 width, PNGU_u32 height, PNGU_u32 stripAlpha, int force32bit);
|
||
|
void pngu_free_info (IMGCTX ctx);
|
||
|
void pngu_read_data_from_buffer (png_structp png_ptr, png_bytep data, png_size_t length);
|
||
|
void pngu_write_data_to_buffer (png_structp png_ptr, png_bytep data, png_size_t length);
|
||
|
void pngu_flush_data_to_buffer (png_structp png_ptr);
|
||
|
int pngu_clamp (int value, int min, int max);
|
||
|
|
||
|
|
||
|
// PNGU Image context struct
|
||
|
struct _IMGCTX
|
||
|
{
|
||
|
int source;
|
||
|
void *buffer;
|
||
|
char *filename;
|
||
|
PNGU_u32 cursor;
|
||
|
PNGU_u32 buf_size; // buffer size
|
||
|
|
||
|
PNGU_u32 propRead;
|
||
|
PNGUPROP prop;
|
||
|
|
||
|
PNGU_u32 infoRead;
|
||
|
png_structp png_ptr;
|
||
|
png_infop info_ptr;
|
||
|
FILE *fd;
|
||
|
|
||
|
png_bytep *row_pointers;
|
||
|
png_bytep img_data;
|
||
|
};
|
||
|
|
||
|
#endif
|