terom@133: from libc.stdio cimport ( terom@133: FILE, terom@133: ) terom@133: terom@133: cdef extern from "pngtile.h" : terom@133: struct pt_ctx : terom@133: pass terom@133: terom@133: struct pt_image : terom@133: pass terom@133: terom@133: enum pt_open_mode : terom@133: PT_OPEN_READ # 0 terom@133: PT_OPEN_UPDATE terom@133: terom@133: enum pt_cache_status : terom@133: PT_CACHE_ERROR # -1 terom@133: PT_CACHE_FRESH terom@133: PT_CACHE_NONE terom@133: PT_CACHE_STALE terom@133: PT_CACHE_INCOMPAT terom@133: terom@133: struct pt_image_info : terom@133: size_t img_width, img_height, img_bpp terom@133: int image_mtime, cache_mtime, cache_version terom@133: size_t image_bytes, cache_bytes terom@133: size_t cache_blocks terom@133: terom@133: struct pt_image_params : terom@133: int background_color[4] terom@133: terom@133: struct pt_tile_info : terom@133: size_t width, height terom@133: size_t x, y terom@133: int zoom terom@133: terom@133: ctypedef pt_image_info* const_image_info_ptr "const struct pt_image_info *" terom@133: terom@133: ## functions terom@133: int pt_image_open (pt_image **image_ptr, pt_ctx *ctx, char *png_path, int cache_mode) nogil terom@133: int pt_image_info_ "pt_image_info" (pt_image *image, pt_image_info **info_ptr) nogil terom@133: int pt_image_status (pt_image *image) nogil terom@133: int pt_image_load (pt_image *image) nogil terom@133: int pt_image_update (pt_image *image, pt_image_params *params) nogil terom@133: int pt_image_tile_file (pt_image *image, pt_tile_info *info, FILE *out) nogil terom@133: int pt_image_tile_mem (pt_image *image, pt_tile_info *info, char **buf_ptr, size_t *len_ptr) nogil terom@133: void pt_image_destroy (pt_image *image) nogil terom@133: terom@133: # error code -> name terom@133: char* pt_strerror (int err)