summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2010-06-25 16:21:50 +0200
committerGerd Hoffmann <kraxel@redhat.com>2010-06-29 13:11:57 +0200
commit65f9bef4fecd1ac46d9cca31158c49d46fb2797a (patch)
treeec5cbf5edf17fcbdc70a45defd258070cae9c4dc
parent5938ace1522a57c5a84dc1c1dfdec7b2cfa858ea (diff)
qxl abi: zap SPICE_ADDRESS for clip rects and paths.
-rw-r--r--spice/draw.h8
-rw-r--r--spice/qxl_dev.h6
2 files changed, 10 insertions, 4 deletions
diff --git a/spice/draw.h b/spice/draw.h
index dee444b..6a13bf9 100644
--- a/spice/draw.h
+++ b/spice/draw.h
@@ -67,12 +67,12 @@ typedef struct SPICE_ATTR_PACKED SpiceRect {
typedef struct SPICE_ATTR_PACKED SpicePathSeg {
uint32_t flags;
uint32_t count;
- uint8_t data[0];
+ SpicePointFix points[0];
} SpicePathSeg;
typedef struct SPICE_ATTR_PACKED SpicePath {
uint32_t size;
- uint8_t segments[0];
+ SpicePathSeg segments[0]; /* alert: variable size elements */
} SpicePath;
typedef struct SPICE_ATTR_PACKED SpiceClipRects {
@@ -82,7 +82,7 @@ typedef struct SPICE_ATTR_PACKED SpiceClipRects {
typedef struct SPICE_ATTR_PACKED SpiceClip {
uint32_t type;
- SPICE_ADDRESS data;
+ SpiceClipRects *rects;
} SpiceClip;
typedef struct SPICE_ATTR_PACKED SpicePattern {
@@ -260,7 +260,7 @@ typedef struct SPICE_ATTR_PACKED SpiceLineAttr {
} SpiceLineAttr;
typedef struct SPICE_ATTR_PACKED SpiceStroke {
- SPICE_ADDRESS path;
+ SpicePath *path;
SpiceLineAttr attr;
SpiceBrush brush;
uint16_t fore_mode;
diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index a059e12..47f0ce7 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -522,6 +522,12 @@ enum {
QXL_PATH_BEZIER = (1 << 4),
};
+typedef struct SPICE_ATTR_PACKED QXLPathSeg {
+ uint32_t flags;
+ uint32_t count;
+ QXLPointFix points[0];
+} QXLPathSeg;
+
typedef struct SPICE_ATTR_PACKED QXLPath {
uint32_t data_size;
QXLDataChunk chunk;