From 6df1558523c624dbbf414a034e673d277fe8a439 Mon Sep 17 00:00:00 2001 From: Marc-AndrĂ© Lureau Date: Wed, 25 Sep 2013 18:31:39 +0200 Subject: worker: move dcc_add_drawable* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Acked-by: Fabiano FidĂȘncio --- server/dcc.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'server/dcc.h') diff --git a/server/dcc.h b/server/dcc.h index a6e1cc7f..12bb38e7 100644 --- a/server/dcc.h +++ b/server/dcc.h @@ -135,6 +135,17 @@ typedef struct ImageItem { uint8_t data[0]; } ImageItem; +typedef struct DrawablePipeItem { + RingItem base; /* link for a list of pipe items held by Drawable */ + PipeItem dpi_pipe_item; /* link for the client's pipe itself */ + Drawable *drawable; + DisplayChannelClient *dcc; + uint8_t refs; +} DrawablePipeItem; + +void drawable_pipe_item_unref (DrawablePipeItem *dpi); +DrawablePipeItem* drawable_pipe_item_ref (DrawablePipeItem *dpi); + DisplayChannelClient* dcc_new (DisplayChannel *display, RedClient *client, RedsStream *stream, @@ -172,6 +183,13 @@ void dcc_palette_cache_palette (DisplayCha uint8_t *flags); int dcc_pixmap_cache_unlocked_add (DisplayChannelClient *dcc, uint64_t id, uint32_t size, int lossy); +void dcc_prepend_drawable (DisplayChannelClient *dcc, + Drawable *drawable); +void dcc_append_drawable (DisplayChannelClient *dcc, + Drawable *drawable); +void dcc_add_drawable_after (DisplayChannelClient *dcc, + Drawable *drawable, + PipeItem *pos); typedef struct compress_send_data_t { void* comp_buf; -- cgit