69 int num_colors_max,
int bg_index);
void(* CA_Callback_t)(int Op, CacheClient_t *Client)
Callback type for cache clients.
void a_Dicache_set_parms(DilloUrl *url, int version, DilloImage *Image, uint_t width, uint_t height, DilloImgType type, double gamma)
Set image's width, height & type.
DICacheEntry * a_Dicache_get_entry(const DilloUrl *Url, int version)
Search a particular version of a URL in the Dicache.
void a_Dicache_cleanup(void)
Free the imgbuf (RGB data) of unused entries.
void a_Dicache_invalidate_entry(const DilloUrl *Url)
Invalidate this entry.
DICacheEntry * a_Dicache_ref(const DilloUrl *Url, int version)
Refs the counter of a dicache entry.
void a_Dicache_new_scan(const DilloUrl *url, int version)
Reset for a new scan from a multiple-scan image.
void a_Dicache_close(DilloUrl *url, int version, CacheClient_t *Client)
Implement the close method of the decoding process.
void a_Dicache_init(void)
Initialize dicache data.
void a_Dicache_unref(const DilloUrl *Url, int version)
Unrefs the counter of a dicache entry (it counts cache clients).
void a_Dicache_callback(int Op, CacheClient_t *Client)
This function is a cache client; (but feeds its clients from dicache)
void a_Dicache_write(DilloUrl *url, int version, const uchar_t *buf, uint_t Y)
Implement the write method (Write a scan line into the Dicache entry) buf: row buffer Y : row number.
void a_Dicache_freeall(void)
Deallocate memory used by dicache module (Call this one at exit time, with no cache clients queued)
void a_Dicache_set_cmap(DilloUrl *url, int version, int bg_color, const uchar_t *cmap, uint_t num_colors, int num_colors_max, int bg_index)
Implement the set_cmap method for the Image.
@ DIC_Close
Whole image got!
@ DIC_Abort
Image transfer aborted.
@ DIC_SetCmap
Color map set.
@ DIC_SetParms
Parameters set.
@ DIC_Write
Feeding the entry.
@ DIC_Empty
Just created the entry.
void * a_Dicache_jpeg_image(const char *Type, void *Ptr, CA_Callback_t *Call, void **Data)
JPEG wrapper for Dicache_image()
void * a_Dicache_gif_image(const char *Type, void *Ptr, CA_Callback_t *Call, void **Data)
GIF wrapper for Dicache_image()
void * a_Dicache_png_image(const char *Type, void *Ptr, CA_Callback_t *Call, void **Data)
PNG wrapper for Dicache_image()
The DilloImage data-structure and methods.
Data structure for cache clients.
int RefCount
Reference Counter.
uint_t ScanNumber
Current decoding scan.
int version
Version number, used for different versions of the same URL image.
uint_t DecodedSize
Size of already decoded data.
short SurvCleanup
Cleanup-pass survival for unused images.
DilloImgType type
Image type.
DicEntryState State
Current status for this entry.
DilloUrl * url
Image URL for this entry.
CA_Callback_t Decoder
Client function.
uint_t TotalSize
Amount of memory the image takes up.
bitvec_t * BitVec
Bit vector for decoded rows.
uint_t height
As taken from image data.
void * DecoderData
Client function data.
void * v_imgbuf
Void pointer to an Imgbuf object.