From 11034dda428865e442dd2c981851500ed96b9a0c Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 22 Jun 2010 10:59:52 +0200 Subject: qxl abi: parse QXLDrawable. --- server/red_parse_qxl.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 server/red_parse_qxl.h (limited to 'server/red_parse_qxl.h') diff --git a/server/red_parse_qxl.h b/server/red_parse_qxl.h new file mode 100644 index 00000000..d8955d2f --- /dev/null +++ b/server/red_parse_qxl.h @@ -0,0 +1,60 @@ +/* -*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */ +/* + Copyright (C) 2009,2010 Red Hat, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef RED_ABI_TRANSLATE_H +#define RED_ABI_TRANSLATE_H + +#include +#include +#include "red_common.h" +#include "red_memslots.h" + +typedef struct SPICE_ATTR_PACKED RedDrawable { + QXLReleaseInfo *release_info; + uint32_t surface_id; + uint8_t effect; + uint8_t type; + uint8_t self_bitmap; + SpiceRect self_bitmap_area; + SpiceRect bbox; + SpiceClip clip; + uint32_t mm_time; + int32_t surfaces_dest[3]; + SpiceRect surfaces_rects[3]; + union { + SpiceFill fill; + SpiceOpaque opaque; + SpiceCopy copy; + SpiceTransparent transparent; + SpiceAlphaBlnd alpha_blend; + QXLCopyBits copy_bits; + SpiceBlend blend; + SpiceRop3 rop3; + SpiceStroke stroke; + SpiceText text; + SpiceBlackness blackness; + SpiceInvers invers; + SpiceWhiteness whiteness; + } u; +} RedDrawable; + +void red_get_drawable(RedMemSlotInfo *slots, int group_id, + RedDrawable *red, SPICE_ADDRESS addr); +void red_put_drawable(RedDrawable *red); + +#endif -- cgit