Index: Source/platform/graphics/GraphicsContext.cpp |
diff --git a/Source/platform/graphics/GraphicsContext.cpp b/Source/platform/graphics/GraphicsContext.cpp |
index 682c3c61c6bf5e5b252beb3d000be66adc746994..fd3eac56f0aeeee107279634d046696cb8e5f64f 100644 |
--- a/Source/platform/graphics/GraphicsContext.cpp |
+++ b/Source/platform/graphics/GraphicsContext.cpp |
@@ -291,8 +291,8 @@ void GraphicsContext::setFillGradient(PassRefPtr<Gradient> gradient) |
} |
void GraphicsContext::setShadow(const FloatSize& offset, float blur, const Color& color, |
- DrawLooper::ShadowTransformMode shadowTransformMode, |
- DrawLooper::ShadowAlphaMode shadowAlphaMode) |
+ DrawLooperBuilder::ShadowTransformMode shadowTransformMode, |
+ DrawLooperBuilder::ShadowAlphaMode shadowAlphaMode) |
{ |
if (paintingDisabled()) |
return; |
@@ -302,18 +302,18 @@ void GraphicsContext::setShadow(const FloatSize& offset, float blur, const Color |
return; |
} |
- DrawLooper drawLooper; |
- drawLooper.addShadow(offset, blur, color, shadowTransformMode, shadowAlphaMode); |
- drawLooper.addUnmodifiedContent(); |
- setDrawLooper(drawLooper); |
+ OwnPtr<DrawLooperBuilder> drawLooperBuilder = DrawLooperBuilder::create(); |
+ drawLooperBuilder->addShadow(offset, blur, color, shadowTransformMode, shadowAlphaMode); |
+ drawLooperBuilder->addUnmodifiedContent(); |
+ setDrawLooper(drawLooperBuilder.release()); |
} |
-void GraphicsContext::setDrawLooper(const DrawLooper& drawLooper) |
+void GraphicsContext::setDrawLooper(PassOwnPtr<DrawLooperBuilder> drawLooperBuilder) |
{ |
if (paintingDisabled()) |
return; |
- mutableState()->setDrawLooper(drawLooper); |
+ mutableState()->setDrawLooper(drawLooperBuilder->detachDrawLooper()); |
} |
void GraphicsContext::clearDrawLooper() |
@@ -710,10 +710,10 @@ void GraphicsContext::drawInnerShadow(const RoundedRect& rect, const Color& shad |
clip(rect.rect()); |
} |
- DrawLooper drawLooper; |
- drawLooper.addShadow(shadowOffset, shadowBlur, shadowColor, |
- DrawLooper::ShadowRespectsTransforms, DrawLooper::ShadowIgnoresAlpha); |
- setDrawLooper(drawLooper); |
+ OwnPtr<DrawLooperBuilder> drawLooperBuilder = DrawLooperBuilder::create(); |
+ drawLooperBuilder->addShadow(shadowOffset, shadowBlur, shadowColor, |
+ DrawLooperBuilder::ShadowRespectsTransforms, DrawLooperBuilder::ShadowIgnoresAlpha); |
+ setDrawLooper(drawLooperBuilder.release()); |
fillRectWithRoundedHole(outerRect, roundedHole, fillColor); |
restore(); |
clearDrawLooper(); |