diff options
author | Yonit Halperin <yhalperi@redhat.com> | 2010-06-20 17:18:33 +0300 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-06-21 15:13:56 +0200 |
commit | 99f266577682cdbd82ef9a282d6a763d39d0548f (patch) | |
tree | ed0c881044e1fe46cddf283f964ffcd76d024795 | |
parent | 63f1c6c01a347ae9564fbbc1f53d114147e04e96 (diff) |
add image type for RGBA bitmaps that were compressed by a combination of JPEG (RGB) and LZ (alpha channel).
-rw-r--r-- | spice/draw.h | 12 | ||||
-rw-r--r-- | spice/enums.h | 7 |
2 files changed, 19 insertions, 0 deletions
diff --git a/spice/draw.h b/spice/draw.h index 874681d..e6fab5c 100644 --- a/spice/draw.h +++ b/spice/draw.h @@ -193,6 +193,18 @@ typedef struct SPICE_ATTR_PACKED SpiceZlibGlzRGBImage { SpiceZlibGlzRGBData zlib_glz; } SpiceZlibGlzRGBImage; +typedef struct SPICE_ATTR_PACKED SpiceJPEGAlphaData { + uint8_t flags; + uint32_t jpeg_size; + uint32_t data_size; + uint8_t data[0]; +} SpiceJPEGAlphaData; + +typedef struct SPICE_ATTR_PACKED SpiceJPEGAlphaImage { + SpiceImageDescriptor descriptor; + SpiceJPEGAlphaData jpeg_alpha; +} SpiceJPEGAlphaImage; + typedef struct SPICE_ATTR_PACKED SpiceOpaque { SPICE_ADDRESS src_bitmap; SpiceRect src_area; diff --git a/spice/enums.h b/spice/enums.h index 4dfda1f..6e8665c 100644 --- a/spice/enums.h +++ b/spice/enums.h @@ -130,6 +130,7 @@ enum SpiceImageType { SPICE_IMAGE_TYPE_JPEG, SPICE_IMAGE_TYPE_FROM_CACHE_LOSSLESS, SPICE_IMAGE_TYPE_ZLIB_GLZ_RGB, + SPICE_IMAGE_TYPE_JPEG_ALPHA, SPICE_IMAGE_TYPE_ENUM_END }; @@ -165,6 +166,12 @@ enum SpiceBitmapFlags { SPICE_BITMAP_FLAGS_MASK = 0x7 }; +enum SpiceJpegAlphaFlags { + SPICE_JPEG_ALPHA_FLAGS_TOP_DOWN = (1 << 0), + + SPICE_JPEG_ALPHA_FLAGS_MASK = 0x1 +}; + enum SpiceImageScaleMode { SPICE_IMAGE_SCALE_MODE_INTERPOLATE, SPICE_IMAGE_SCALE_MODE_NEAREST, |