Browse Source

Ignore blur when shadowBlur == 0

v1.x
Tj Holowaychuk 14 years ago
parent
commit
6bb49cb66d
  1. 13
      src/CanvasRenderingContext2d.cc

13
src/CanvasRenderingContext2d.cc

@ -1059,7 +1059,10 @@ Context2d::FillRect(const Arguments &args) {
cairo_rectangle(ctx, x, y, width, height);
SET_SOURCE_RGBA(context->state->shadow);
cairo_fill(ctx);
Canvas::blur(context->getCanvas()->getSurface(), context->state->shadowBlur);
if (context->state->shadowBlur) {
Canvas::blur(context->getCanvas()->getSurface(), context->state->shadowBlur);
}
cairo_restore(ctx);
cairo_rectangle(ctx, x, y, width, height);
@ -1096,7 +1099,10 @@ Context2d::StrokeRect(const Arguments &args) {
cairo_rectangle(ctx, x, y, width, height);
SET_SOURCE_RGBA(context->state->shadow);
cairo_stroke(ctx);
Canvas::blur(context->getCanvas()->getSurface(), context->state->shadowBlur);
if (context->state->shadowBlur) {
Canvas::blur(context->getCanvas()->getSurface(), context->state->shadowBlur);
}
cairo_restore(ctx);
cairo_rectangle(ctx, x, y, width, height);
@ -1181,5 +1187,6 @@ Context2d::Arc(const Arguments &args) {
bool
Context2d::hasShadow() {
return state->shadow.a && state->shadowBlur;
return state->shadow.a
&& (state->shadowBlur || state->shadowOffsetX || state->shadowOffsetX);
}
Loading…
Cancel
Save