static void write_mem_block(png_structp pngptr, png_bytep buffer, png_size_t length) { mem_block *mb = (mem_block *)png_get_mem_ptr(pngptr); memcpy(mb->data + mb->index, buffer, length); mb->index += length; }
static void xps_png_free(png_structp png, png_voidp ptr) { gs_memory_t *mem = png_get_mem_ptr(png); gs_free_object(mem, ptr, "libpng"); }
static void png_free_fn(png_structp png_ptr, png_voidp ptr) { ImgloadPlugin plugin = (ImgloadPlugin)png_get_mem_ptr(png_ptr); imgload_plugin_free(plugin, ptr); }
static png_voidp xps_png_malloc(png_structp png, png_size_t size) { gs_memory_t *mem = png_get_mem_ptr(png); return gs_alloc_bytes(mem, size, "libpng"); }
static png_voidp png_malloc_fn(png_structp png_ptr, png_size_t size) { ImgloadPlugin plugin = (ImgloadPlugin)png_get_mem_ptr(png_ptr); return imgload_plugin_realloc(plugin, NULL, size); }