mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 17:01:51 +00:00
38 lines
728 B
C
38 lines
728 B
C
|
#ifndef __PNGWRITE_H__
|
||
|
#define __PNGWRITE_H__
|
||
|
|
||
|
#include "miniz.h"
|
||
|
|
||
|
#define CHUNK_COMPRESSED 1
|
||
|
#define CHUNK_ROW 2
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
PNG_TRUECOLOR = 2,
|
||
|
PNG_INDEXED = 3,
|
||
|
};
|
||
|
|
||
|
#pragma pack(push, 1)
|
||
|
typedef struct
|
||
|
{
|
||
|
z_stream *zs;
|
||
|
FILE *file;
|
||
|
uint8_t *pal_data;
|
||
|
uint16_t pal_entries;
|
||
|
uint8_t *text;
|
||
|
uint8_t textlen;
|
||
|
} pngwrite_t;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
uint32_t width, height;
|
||
|
uint8_t depth, type, filler[3];
|
||
|
} png_ihdr_t;
|
||
|
#pragma pack(pop)
|
||
|
|
||
|
void png_set_pal(uint8_t const * const data, int numentries);
|
||
|
void png_set_text(char const * const keyword, char const * const text);
|
||
|
void png_write(FILE * const file, uint32_t const width, uint32_t const height, uint8_t type, uint8_t const * const data);
|
||
|
|
||
|
#endif
|