diff options
Diffstat (limited to 'server/display-channel.c')
-rw-r--r-- | server/display-channel.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/server/display-channel.c b/server/display-channel.c index 51302bdc..63d56b46 100644 --- a/server/display-channel.c +++ b/server/display-channel.c @@ -141,6 +141,21 @@ DisplayChannelClient *dcc_new(DisplayChannel *display, return dcc; } +void dcc_add_stream_agent_clip(DisplayChannelClient* dcc, StreamAgent *agent) +{ + StreamClipItem *item = stream_clip_item_new(dcc, agent); + int n_rects; + + item->clip_type = SPICE_CLIP_TYPE_RECTS; + + n_rects = pixman_region32_n_rects(&agent->clip); + item->rects = spice_malloc_n_m(n_rects, sizeof(SpiceRect), sizeof(SpiceClipRects)); + item->rects->num_rects = n_rects; + region_ret_rects(&agent->clip, item->rects->rects, n_rects); + + red_channel_client_pipe_add(RED_CHANNEL_CLIENT(dcc), (PipeItem *)item); +} + MonitorsConfig* monitors_config_ref(MonitorsConfig *monitors_config) { monitors_config->refs++; |