From 337aa35e7aa00d9093a1c6fe688372e3f8a7d2d8 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 8 Nov 2010 09:14:01 -0800 Subject: [PATCH] Painting shadow to a different context --- src/CanvasRenderingContext2d.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/CanvasRenderingContext2d.cc b/src/CanvasRenderingContext2d.cc index ffdde9d..7c1e6b6 100644 --- a/src/CanvasRenderingContext2d.cc +++ b/src/CanvasRenderingContext2d.cc @@ -1074,13 +1074,16 @@ Context2d::FillRect(const Arguments &args) { , context->state->shadowOffsetX , context->state->shadowOffsetY); + cairo_push_group(ctx); cairo_rectangle(ctx, x, y, width, height); SET_SOURCE_RGBA(context->state->shadow); cairo_fill(ctx); if (context->state->shadowBlur) { - //Canvas::blur(context->getCanvas()->getSurface(), context->state->shadowBlur); + Canvas::blur(cairo_get_group_target(ctx), context->state->shadowBlur); } + cairo_pop_group_to_source(ctx); + cairo_paint(ctx); cairo_restore(ctx); cairo_rectangle(ctx, x, y, width, height);