diff options
author | Izik Eidus <ieidus@redhat.com> | 2010-04-14 19:38:49 +0300 |
---|---|---|
committer | Izik Eidus <ieidus@redhat.com> | 2010-04-14 19:38:49 +0300 |
commit | 99341e058f378c1fbf940a065267802028418969 (patch) | |
tree | e7334e5d14cac1bf20f0167390e0a81f2016c9b4 /server/red_dispatcher.c | |
parent | c97116aeb925dfa10420ca8baae1d445da23b73d (diff) | |
download | spice-99341e058f378c1fbf940a065267802028418969.tar.gz spice-99341e058f378c1fbf940a065267802028418969.tar.xz spice-99341e058f378c1fbf940a065267802028418969.zip |
spice: server: change update_area command
The new command return dirty area to be used
by users that want spice to render localy or
into some framebuffer (sdl / vnc)
Signed-off-by: Izik Eidus <ieidus@redhat.com>
Diffstat (limited to 'server/red_dispatcher.c')
-rw-r--r-- | server/red_dispatcher.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/server/red_dispatcher.c b/server/red_dispatcher.c index 2930dea4..5b719bd0 100644 --- a/server/red_dispatcher.c +++ b/server/red_dispatcher.c @@ -199,12 +199,19 @@ static void update_client_mouse_allowed() } } -static void qxl_worker_update_area(QXLWorker *qxl_worker) +static void qxl_worker_update_area(QXLWorker *qxl_worker, uint32_t surface_id, + SpiceRect *area, SpiceRect *dirty_rects, + uint32_t num_dirty_rects, uint32_t clear_dirty_region) { RedDispatcher *dispatcher = (RedDispatcher *)qxl_worker; RedWorkeMessage message = RED_WORKER_MESSAGE_UPDATE; write_message(dispatcher->channel, &message); + send_data(dispatcher->channel, &surface_id, sizeof(uint32_t)); + send_data(dispatcher->channel, &area, sizeof(SpiceRect *)); + send_data(dispatcher->channel, &dirty_rects, sizeof(SpiceRect *)); + send_data(dispatcher->channel, &num_dirty_rects, sizeof(uint32_t)); + send_data(dispatcher->channel, &clear_dirty_region, sizeof(uint32_t)); read_message(dispatcher->channel, &message); ASSERT(message == RED_WORKER_MESSAGE_READY); } |