diff options
author | Alexander Larsson <alexl@redhat.com> | 2010-02-08 15:38:24 +0100 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-02-23 14:43:20 +0100 |
commit | 0b0342ee7ece8ea5a811cfb05c70f03ca4e3bde3 (patch) | |
tree | 7e4ce72080519d7d55df6f3dadc63b6784c0856b /common/gdi_canvas.c | |
parent | 7537acd630e8973c92bb769b56d78836372b30c2 (diff) | |
download | spice-0b0342ee7ece8ea5a811cfb05c70f03ca4e3bde3.tar.gz spice-0b0342ee7ece8ea5a811cfb05c70f03ca4e3bde3.tar.xz spice-0b0342ee7ece8ea5a811cfb05c70f03ca4e3bde3.zip |
Turn image and palette cache into c style dynamic interface
Instead of passing a bunch of function pointer and an opaque
pointer we make a real type and add a vtable pointer to it.
This means we can simplify all the canvas constructors, etc.
Diffstat (limited to 'common/gdi_canvas.c')
-rw-r--r-- | common/gdi_canvas.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/common/gdi_canvas.c b/common/gdi_canvas.c index 9e29cb83..bc9f8b22 100644 --- a/common/gdi_canvas.c +++ b/common/gdi_canvas.c @@ -1696,14 +1696,11 @@ static int need_init = 1; #ifdef CAIRO_CANVAS_CACHE GdiCanvas *gdi_canvas_create(HDC dc, Mutex* lock, int bits, void *bits_cache_opaque, - bits_cache_put_fn_t bits_cache_put, bits_cache_get_fn_t bits_cache_get, - void *palette_cache_opaque, palette_cache_put_fn_t palette_cache_put, - palette_cache_get_fn_t palette_cache_get, - palette_cache_release_fn_t palette_cache_release + SpiceImageCache *bits_cache, + SpicePaletteCache *palette_cache #elif defined(CAIRO_CANVAS_IMAGE_CACHE) GdiCanvas *gdi_canvas_create(HDC dc, int bits, - void *bits_cache_opaque, - bits_cache_put_fn_t bits_cache_put, bits_cache_get_fn_t bits_cache_get + SpiceImageCache *bits_cache #else GdiCanvas *gdi_canvas_create(HDC dc, int bits #endif @@ -1721,18 +1718,11 @@ GdiCanvas *gdi_canvas_create(HDC dc, int bits memset(canvas, 0, sizeof(GdiCanvas)); #ifdef CAIRO_CANVAS_CACHE init_ok = canvas_base_init(&canvas->base, bits, - bits_cache_opaque, - bits_cache_put, - bits_cache_get, - palette_cache_opaque, - palette_cache_put, - palette_cache_get, - palette_cache_release + bits_cache, + palette_cache #elif defined(CAIRO_CANVAS_IMAGE_CACHE) init_ok = gdi_canvas_base_init(&canvas->base, bits, - bits_cache_opaque, - bits_cache_put, - bits_cache_get + bits_cache #else init_ok = gdi_canvas_base_init(&canvas->base, bits #endif |