Make glz_decoder non-optional canvas_base in canvas constructors

It can still be NULL, but we simplify the headers by always including it.
There is no practical performance difference here.
This commit is contained in:
Alexander Larsson 2010-03-02 15:51:12 +01:00 committed by Marc-André Lureau
parent a8e126f524
commit 5912af45f0
6 changed files with 11 additions and 28 deletions

View File

@ -2155,9 +2155,7 @@ CairoCanvas *canvas_create(pixman_image_t *image, int bits,
#else
CairoCanvas *canvas_create(pixman_image_t *image, int bits
#endif
#ifdef USE_GLZ
, SpiceGlzDecoder *glz_decoder
#endif
#ifndef CAIRO_CANVAS_NO_CHUNKS
, void *get_virt_opaque, get_virt_fn_t get_virt,
void *validate_virt_opaque, validate_virt_fn_t validate_virt
@ -2181,10 +2179,7 @@ CairoCanvas *canvas_create(pixman_image_t *image, int bits
#else
init_ok = canvas_base_init(&canvas->base, bits
#endif
#ifdef USE_GLZ
,
glz_decoder
#endif
, glz_decoder
#ifndef CAIRO_CANVAS_NO_CHUNKS
,
get_virt_opaque,

View File

@ -69,9 +69,7 @@ CairoCanvas *canvas_create(pixman_image_t *image, int bits,
#else
CairoCanvas *canvas_create(pixman_image_t *image, int bits
#endif
#ifdef USE_GLZ
, SpiceGlzDecoder *glz_decoder
#endif
#ifndef CAIRO_CANVAS_NO_CHUNKS
, void *get_virt_opaque, get_virt_fn_t get_virt,
void *validate_virt_opaque, validate_virt_fn_t validate_virt

View File

@ -622,6 +622,11 @@ static pixman_image_t *canvas_get_glz(CanvasBase *canvas, LZImage *image)
#ifdef WIN32
canvas->glz_data.decode_data.dc = canvas->dc;
#endif
if (canvas->glz_data.decoder == NULL) {
CANVAS_ERROR("glz not supported");
}
canvas->glz_data.decoder->ops->decode(canvas->glz_data.decoder,
image->lz_rgb.data, NULL,
&canvas->glz_data.decode_data);
@ -816,7 +821,8 @@ static pixman_image_t *canvas_get_image_internal(CanvasBase *canvas, SPICE_ADDRE
break;
}
#endif
#ifdef USE_GLZ
#if defined(CAIRO_CANVAS_CACHE)
case SPICE_IMAGE_TYPE_GLZ_RGB: {
access_test(canvas, descriptor, sizeof(SpiceLZRGBImage));
LZImage *image = (LZImage *)descriptor;
@ -824,6 +830,7 @@ static pixman_image_t *canvas_get_image_internal(CanvasBase *canvas, SPICE_ADDRE
break;
}
#endif
case SPICE_IMAGE_TYPE_FROM_CACHE:
return canvas->bits_cache->ops->get(canvas->bits_cache, descriptor->id);
case SPICE_IMAGE_TYPE_BITMAP: {
@ -1546,9 +1553,7 @@ static int canvas_base_init(CanvasBase *canvas, int depth,
#else
static int canvas_base_init(CanvasBase *canvas, int depth
#endif
#ifdef USE_GLZ
, SpiceGlzDecoder *glz_decoder
#endif
#ifndef CAIRO_CANVAS_NO_CHUNKS
, void *get_virt_opaque, get_virt_fn_t get_virt,
void *validate_virt_opaque, validate_virt_fn_t validate_virt
@ -1583,9 +1588,7 @@ static int canvas_base_init(CanvasBase *canvas, int depth
return 0;
}
#endif
#ifdef USE_GLZ
canvas->glz_data.decoder = glz_decoder;
#endif
if (depth == 16) {
canvas->color_shift = 5;

View File

@ -1707,9 +1707,7 @@ GdiCanvas *gdi_canvas_create(HDC dc, int bits,
#else
GdiCanvas *gdi_canvas_create(HDC dc, int bits
#endif
#ifdef USE_GLZ
, SpiceGlzDecoder *glz_decoder
#endif
)
{
GdiCanvas *canvas;
@ -1729,11 +1727,7 @@ GdiCanvas *gdi_canvas_create(HDC dc, int bits
#else
init_ok = gdi_canvas_base_init(&canvas->base, bits
#endif
#ifdef USE_GLZ
,
glz_decoder
#endif
);
, glz_decoder);
canvas->dc = dc;
canvas->lock = lock;
return canvas;

View File

@ -811,9 +811,7 @@ GLCanvas *gl_canvas_create(void *usr_data, int width, int height, int depth,
#else
GLCanvas *gl_canvas_create(void *usr_data, int width, int height, int depth
#endif
#ifdef USE_GLZ
, SpiceGlzDecoder *glz_decoder
#endif
#ifndef CAIRO_CANVAS_NO_CHUNKS
, void *get_virt_opaque, get_virt_fn_t get_virt,
void *validate_virt_opaque, validate_virt_fn_t validate_virt
@ -843,10 +841,7 @@ GLCanvas *gl_canvas_create(void *usr_data, int width, int height, int depth
#else
init_ok = canvas_base_init(&canvas->base, depth
#endif
#ifdef USE_GLZ
,
glz_decoder
#endif
, glz_decoder
#ifndef CAIRO_CANVAS_NO_CHUNKS
,
get_virt_opaque,

View File

@ -64,9 +64,7 @@ GLCanvas *gl_canvas_create(void *usr_data, int width, int height, int depth,
#else
GLCanvas *gl_canvas_create(void *usr_data, int width, int height, int depth
#endif
#ifdef USE_GLZ
, SpiceGlzDecoder *glz_decoder
#endif
#ifndef CAIRO_CANVAS_NO_CHUNKS
, void *get_virt_opaque, get_virt_fn_t get_virt,
void *validate_virt_opaque, validate_virt_fn_t validate_virt