diff options
author | Alexander Larsson <alexl@redhat.com> | 2010-06-24 14:30:00 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-06-24 14:30:00 +0200 |
commit | 9655dc30e99ee0fd75cce4de7f436849c15228d1 (patch) | |
tree | 29f027b42e3952080abbfd8a617d3f6acdf54757 | |
parent | 9c504f23ef911b13cbd582d53ff104eec318100b (diff) |
Remove support for clip by path
This is not supported currently anyway and was not generated before.
-rw-r--r-- | client/display_channel.cpp | 2 | ||||
-rw-r--r-- | common/canvas_base.c | 3 | ||||
-rw-r--r-- | common/gdi_canvas.c | 6 | ||||
-rw-r--r-- | common/gl_canvas.c | 6 | ||||
-rw-r--r-- | server/red_worker.c | 50 | ||||
-rw-r--r-- | spice.proto | 5 | ||||
-rw-r--r-- | spice1.proto | 11 |
7 files changed, 24 insertions, 59 deletions
diff --git a/client/display_channel.cpp b/client/display_channel.cpp index 5469653..95840b5 100644 --- a/client/display_channel.cpp +++ b/client/display_channel.cpp @@ -1294,7 +1294,7 @@ void DisplayChannel::set_clip_rects(const SpiceClip& clip, uint32_t& num_clip_re num_clip_rects = 0; clip_rects = NULL; break; - case SPICE_CLIP_TYPE_PATH: + default: THROW("unexpected clip type"); } } diff --git a/common/canvas_base.c b/common/canvas_base.c index 2b00f09..700fcb4 100644 --- a/common/canvas_base.c +++ b/common/canvas_base.c @@ -2004,9 +2004,6 @@ static void canvas_clip_pixman(CanvasBase *canvas, break; } - case SPICE_CLIP_TYPE_PATH: - CANVAS_ERROR("clip paths not supported anymore"); - break; default: CANVAS_ERROR("invalid clip type"); } diff --git a/common/gdi_canvas.c b/common/gdi_canvas.c index 76a7674..594eacf 100644 --- a/common/gdi_canvas.c +++ b/common/gdi_canvas.c @@ -430,12 +430,6 @@ static void set_clip(GdiCanvas *canvas, SpiceClip *clip) } break; } - case SPICE_CLIP_TYPE_PATH: - set_path(canvas, SPICE_GET_ADDRESS(clip->data)); - if (SelectClipPath(canvas->dc, RGN_COPY) == ERROR) { - CANVAS_ERROR("Unable to SelectClipPath"); - } - break; default: CANVAS_ERROR("invalid clip type"); } diff --git a/common/gl_canvas.c b/common/gl_canvas.c index 688b635..b16f25f 100644 --- a/common/gl_canvas.c +++ b/common/gl_canvas.c @@ -198,12 +198,6 @@ static void set_clip(GLCanvas *canvas, SpiceRect *bbox, SpiceClip *clip) } break; } - case SPICE_CLIP_TYPE_PATH: { - GLCPath path = get_path(canvas, SPICE_GET_ADDRESS(clip->data)); - glc_clip_path(canvas->glc, path, GLC_CLIP_OP_SET); - glc_path_destroy(path); - break; - } default: CANVAS_ERROR("invalid clip type"); } diff --git a/server/red_worker.c b/server/red_worker.c index b9ada15..97ca75d 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -3890,11 +3890,6 @@ static inline void red_process_drawable(RedWorker *worker, QXLDrawable *drawable add_clip_rects(worker, &rgn, drawable->clip.data + SPICE_OFFSETOF(QXLClipRects, chunk), group_id); region_and(&item->tree_item.base.rgn, &rgn); region_destroy(&rgn); - } else if (drawable->clip.type == SPICE_CLIP_TYPE_PATH) { - item->tree_item.effect = QXL_EFFECT_BLEND; -#ifdef PIPE_DEBUG - printf("TEST: DRAWABLE: QXL_CLIP_TYPE_PATH\n"); -#endif } /* surface->refs is affected by a drawable (that is @@ -4083,9 +4078,6 @@ static void localize_clip(RedWorker *worker, SpiceClip *clip, uint32_t group_id) } while (chunk); break; } - case SPICE_CLIP_TYPE_PATH: - localize_path(worker, &clip->data, group_id); - break; default: red_printf("invalid clip type"); } @@ -4100,9 +4092,6 @@ static void unlocalize_clip(SpiceClip *clip) free((void *)clip->data); clip->data = 0; break; - case SPICE_CLIP_TYPE_PATH: - unlocalize_path(&clip->data); - break; default: red_printf("invalid clip type"); } @@ -5393,18 +5382,16 @@ static void fill_base(DisplayChannel *display_channel, Drawable *drawable) { RedChannel *channel = &display_channel->base; SpiceMsgDisplayBase base; - SpiceMarshaller *cliprects_data_out, *clippath_data_out; + SpiceMarshaller *cliprects_data_out; base.surface_id = drawable->surface_id; base.box = drawable->qxl_drawable->bbox; base.clip = drawable->qxl_drawable->clip; spice_marshall_DisplayBase(channel->send_data.marshaller, &base, - &cliprects_data_out, &clippath_data_out); + &cliprects_data_out); if (cliprects_data_out) { fill_rects_clip(channel, cliprects_data_out, base.clip.data, drawable->group_id); - } else if (clippath_data_out) { - fill_path(display_channel, clippath_data_out, base.clip.data, drawable->group_id); } } @@ -7354,14 +7341,7 @@ static void surface_lossy_region_update(RedWorker *worker, DisplayChannel *displ surface_lossy_region = &display_channel->surface_client_lossy_region[item->surface_id]; drawable = item->qxl_drawable; - if ((drawable->clip.type == SPICE_CLIP_TYPE_NONE) || - ((drawable->clip.type == SPICE_CLIP_TYPE_PATH) && lossy)) { - if (!lossy) { - region_remove(surface_lossy_region, &drawable->bbox); - } else { - region_add(surface_lossy_region, &drawable->bbox); - } - } else if (drawable->clip.type == SPICE_CLIP_TYPE_RECTS) { + if (drawable->clip.type == SPICE_CLIP_TYPE_RECTS ) { QRegion clip_rgn; QRegion draw_region; region_init(&clip_rgn); @@ -7379,7 +7359,13 @@ static void surface_lossy_region_update(RedWorker *worker, DisplayChannel *displ region_destroy(&clip_rgn); region_destroy(&draw_region); - } // else SPICE_CLIP_TYPE_PATH and lossless: leave the area as is + } else { /* no clip */ + if (!lossy) { + region_remove(surface_lossy_region, &drawable->bbox); + } else { + region_add(surface_lossy_region, &drawable->bbox); + } + } } static inline int drawable_intersects_with_areas(Drawable *drawable, int surface_ids[], @@ -9092,7 +9078,7 @@ static void red_send_image(DisplayChannel *display_channel, ImageItem *item) int lz_comp = FALSE; spice_image_compression_t comp_mode; SpiceMsgDisplayDrawCopy copy; - SpiceMarshaller *cliprects_data_out, *clippath_data_out, *src_bitmap_out, *mask_bitmap_out; + SpiceMarshaller *cliprects_data_out, *src_bitmap_out, *mask_bitmap_out; SpiceMarshaller *bitmap_palette_out, *data_out, *lzplt_palette_out; ASSERT(display_channel && item); @@ -9139,7 +9125,7 @@ static void red_send_image(DisplayChannel *display_channel, ImageItem *item) SpiceMarshaller *m = channel->send_data.marshaller; spice_marshall_msg_display_draw_copy(m, ©, - &cliprects_data_out, &clippath_data_out, + &cliprects_data_out, &src_bitmap_out, &mask_bitmap_out); compress_send_data_t comp_send_data = {0}; @@ -9217,7 +9203,7 @@ static void red_display_send_upgrade(DisplayChannel *display_channel, UpgradeIte RedChannel *channel; QXLDrawable *qxl_drawable; SpiceMsgDisplayDrawCopy copy; - SpiceMarshaller *cliprects_data_out, *clippath_data_out, *src_bitmap_out, *mask_bitmap_out; + SpiceMarshaller *cliprects_data_out, *src_bitmap_out, *mask_bitmap_out; int i; ASSERT(display_channel && item && item->drawable); @@ -9239,7 +9225,7 @@ static void red_display_send_upgrade(DisplayChannel *display_channel, UpgradeIte SpiceMarshaller *m = channel->send_data.marshaller; spice_marshall_msg_display_draw_copy(m, ©, - &cliprects_data_out, &clippath_data_out, + &cliprects_data_out, &src_bitmap_out, &mask_bitmap_out); spice_marshaller_add_uint32(cliprects_data_out, item->n_rects); @@ -9260,7 +9246,7 @@ static void red_display_send_stream_start(DisplayChannel *display_channel, Strea ASSERT(stream); channel->send_data.header->type = SPICE_MSG_DISPLAY_STREAM_CREATE; SpiceMsgDisplayStreamCreate stream_create; - SpiceMarshaller *cliprects_data_out, *clippath_data_out; + SpiceMarshaller *cliprects_data_out; stream_create.surface_id = 0; stream_create.id = agent - display_channel->stream_agents; @@ -9282,7 +9268,7 @@ static void red_display_send_stream_start(DisplayChannel *display_channel, Strea } spice_marshall_msg_display_stream_create(channel->send_data.marshaller, &stream_create, - &cliprects_data_out, &clippath_data_out); + &cliprects_data_out); if (stream->current) { @@ -9313,14 +9299,14 @@ static void red_display_send_stream_clip(DisplayChannel *display_channel, channel->send_data.header->type = SPICE_MSG_DISPLAY_STREAM_CLIP; SpiceMsgDisplayStreamClip stream_clip; - SpiceMarshaller *cliprects_data_out, *clippath_data_out; + SpiceMarshaller *cliprects_data_out; stream_clip.id = agent - display_channel->stream_agents; stream_clip.clip.type = item->clip_type; stream_clip.clip.data = 0; spice_marshall_msg_display_stream_clip(channel->send_data.marshaller, &stream_clip, - &cliprects_data_out, &clippath_data_out); + &cliprects_data_out); if (stream_clip.clip.type == SPICE_CLIP_TYPE_RECTS) { spice_marshaller_add_uint32(cliprects_data_out, item->n_rects); diff --git a/spice.proto b/spice.proto index 199fa38..acb9488 100644 --- a/spice.proto +++ b/spice.proto @@ -253,8 +253,7 @@ channel MainChannel : BaseChannel { enum32 clip_type { NONE, - RECTS, - PATH, + RECTS }; flags32 path_flags { /* TODO: C enum names changes */ @@ -414,8 +413,6 @@ struct Clip { switch (type) { case RECTS: ClipRects *data @outvar(cliprects); - case PATH: - Path *data @outvar(clippath); } u @anon; }; diff --git a/spice1.proto b/spice1.proto index 0efe74b..dbe57b5 100644 --- a/spice1.proto +++ b/spice1.proto @@ -253,8 +253,7 @@ channel MainChannel : BaseChannel { enum32 clip_type { NONE, - RECTS, - PATH, + RECTS }; flags32 path_flags { /* TODO: C enum names changes */ @@ -382,12 +381,10 @@ struct Path { struct Clip { clip_type type; switch (type) { - case NONE: - uint64 data @zero; - case RECTS: + case RECTS: ClipRects *data @outvar(cliprects); - case PATH: - Path *data @outvar(clippath); + default: + uint64 data @zero; } u @anon; }; |