mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-common
synced 2026-01-05 13:20:07 +00:00
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:
parent
a8e126f524
commit
5912af45f0
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user