summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2010-06-20 17:18:33 +0300
committerAlexander Larsson <alexl@redhat.com>2010-06-21 15:13:56 +0200
commit99f266577682cdbd82ef9a282d6a763d39d0548f (patch)
treeed0c881044e1fe46cddf283f964ffcd76d024795
parent63f1c6c01a347ae9564fbbc1f53d114147e04e96 (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.h12
-rw-r--r--spice/enums.h7
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,