image_cache_

image_cache_

Synopsis

#define             IMAGE_CACHE_TYPE
#define             IMAGE_CACHE                         (obj)
#define             IMAGE_CACHE_CLASS                   (klass)
#define             IS_IMAGE_CACHE                      (obj)
#define             IS_IMAGE_CACHE_CLASS                (klass)
#define             IMAGE_CACHE_GET_CLASS               (obj)
typedef             ImageCache;
struct              image_cache;
typedef             ImageCacheClass;
GType               image_cache_get_type                (void);
ImageCache *        image_cache_new                     (guint cache_max,
                                                         gboolean ce);
void                image_cache_clear                   (ImageCache *ic);
void                image_cache_set_size                (ImageCache *ic,
                                                         guint cache_size);
void                image_cache_gc                      (ImageCache *ic,
                                                         guint max);
gboolean            image_cache_invalidate              (ImageCache *ic,
                                                         gpointer key);
void                image_cache_invalidate_by_image     (ImageCache *ic,
                                                         GdkPixbuf *pixbuf);
void                image_cache_print_stats             (ImageCache *ic);
void                image_cache_put                     (ImageCache *ic,
                                                         gpointer key,
                                                         GdkPixbuf *pixbuf,
                                                         gpointer user_data);
GdkPixbuf *         image_cache_get                     (ImageCache *ic,
                                                         gpointer key);

Object Hierarchy

  GObject
   +----ImageCache

Properties

  "cache-errors"             gboolean              : Read / Write
  "max-items"                guint                 : Read / Write

Signals

  "image-loaded"                                   : Run First

Description

Details

IMAGE_CACHE_TYPE

#define IMAGE_CACHE_TYPE		(image_cache_get_type ())


IMAGE_CACHE()

#define IMAGE_CACHE(obj)		(G_TYPE_CHECK_INSTANCE_CAST ((obj), IMAGE_CACHE_TYPE, ImageCache))

obj :


IMAGE_CACHE_CLASS()

#define IMAGE_CACHE_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST ((klass), IMAGE_CACHE_TYPE, ImageCacheClass))

klass :


IS_IMAGE_CACHE()

#define IS_IMAGE_CACHE(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMAGE_CACHE_TYPE))

obj :


IS_IMAGE_CACHE_CLASS()

#define IS_IMAGE_CACHE_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), IMAGE_CACHE_TYPE))

klass :


IMAGE_CACHE_GET_CLASS()

#define IMAGE_CACHE_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj), IMAGE_CACHE_TYPE, ImageCacheClass))

obj :


ImageCache

typedef struct _image_cache ImageCache;


struct image_cache

struct image_cache {
	GObject parent;
	GHashTable *cache;
	GMutex *mutex;
	guint hit;
	guint miss;
	guint drop;
	guint error;
	guint cache_max;
	guint gc;
	gfloat avgs;
	gboolean cache_errors;
	time_t last_get;
	gpointer priv;
};


ImageCacheClass

typedef struct _image_cache_Class ImageCacheClass;


image_cache_get_type ()

GType               image_cache_get_type                (void);

Returns :


image_cache_new ()

ImageCache *        image_cache_new                     (guint cache_max,
                                                         gboolean ce);

Creates a new image cache object with string hash for keys.

cache_max :

ce :

Returns :


image_cache_clear ()

void                image_cache_clear                   (ImageCache *ic);

Clear the whole cache of images.

ic :


image_cache_set_size ()

void                image_cache_set_size                (ImageCache *ic,
                                                         guint cache_size);

Set the maximum amount of images to hold in the cache.

ic :

cache_size :


image_cache_gc ()

void                image_cache_gc                      (ImageCache *ic,
                                                         guint max);

ic :

max :


image_cache_invalidate ()

gboolean            image_cache_invalidate              (ImageCache *ic,
                                                         gpointer key);

Remove image with given key from the cache.

ic :

key :

Returns :

TRUE if image was removed and key freed.

image_cache_invalidate_by_image ()

void                image_cache_invalidate_by_image     (ImageCache *ic,
                                                         GdkPixbuf *pixbuf);

ic :

pixbuf :


image_cache_print_stats ()

void                image_cache_print_stats             (ImageCache *ic);

ic :


image_cache_put ()

void                image_cache_put                     (ImageCache *ic,
                                                         gpointer key,
                                                         GdkPixbuf *pixbuf,
                                                         gpointer user_data);

ic :

key :

pixbuf :

user_data :


image_cache_get ()

GdkPixbuf *         image_cache_get                     (ImageCache *ic,
                                                         gpointer key);

Get cached image using given key.

ic :

key :

key for hash.

Returns :

An GdkPixbuf if image is found in the cache, NULL is returned if the image was not found or if previous load error was cached.

Property Details

The "cache-errors" property

  "cache-errors"             gboolean              : Read / Write

Default value: FALSE


The "max-items" property

  "max-items"                guint                 : Read / Write

Allowed values: [1,8192]

Default value: 256

Signal Details

The "image-loaded" signal

void                user_function                      (ImageCache *imagecache,
                                                        gchar       arg1,
                                                        gpointer    user_data)       : Run First

imagecache :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.