#ifndef RENDER_PNG_INTERNAL_H
#define RENDER_PNG_INTERNAL_H
#include <png.h>
#include "render.h"
#include "render_png.h"
struct render_png {
// do I need to free it?
int owned_by_me;
// libpng handles
png_structp png_ptr;
png_infop info_ptr;
// some info that we need to keep from the struct render
render_ctx_write_cb io_write_fn;
render_ctx_flush_cb io_flush_fn;
void *cb_arg;
};
int render_png_init (struct render_png *ctx, struct render *render);
void render_png_deinit (struct render_png *ctx);
#endif /* RENDER_PNG_INTERNAL_H */