Index: Source/platform/graphics/GraphicsContext.cpp |
diff --git a/Source/platform/graphics/GraphicsContext.cpp b/Source/platform/graphics/GraphicsContext.cpp |
index 3419592710bb31c9b9410951073915305e1cc440..e72194b07d6c593f1f32afafef6fe0aad09d2e51 100644 |
--- a/Source/platform/graphics/GraphicsContext.cpp |
+++ b/Source/platform/graphics/GraphicsContext.cpp |
@@ -438,11 +438,27 @@ bool GraphicsContext::couldUseLCDRenderedText() const |
return m_isCertainlyOpaque && m_shouldSmoothFonts; |
} |
-void GraphicsContext::setCompositeOperation(CompositeOperator compositeOperation, WebBlendMode blendMode) |
+void GraphicsContext::setCompositeOperation(SkXfermode::Mode xferMode) |
{ |
if (contextDisabled()) |
return; |
- mutableState()->setCompositeOperation(compositeOperation, blendMode); |
+ mutableState()->setCompositeOperation(xferMode); |
+} |
+ |
+void GraphicsContext::setCompositeOperation(CompositeOperator compositeOperation, WebBlendMode blendMode) |
+{ |
+ SkXfermode::Mode xferMode = WebCoreCompositeToSkiaComposite(compositeOperation, blendMode); |
+ setCompositeOperation(xferMode); |
+} |
+ |
+CompositeOperator GraphicsContext::compositeOperation() const |
+{ |
+ return compositeOperatorFromSkia(immutableState()->compositeOperation()); |
+} |
+ |
+WebBlendMode GraphicsContext::blendModeOperation() const |
+{ |
+ return blendModeFromSkia(immutableState()->compositeOperation()); |
} |
SkColorFilter* GraphicsContext::colorFilter() const |
@@ -494,17 +510,17 @@ void GraphicsContext::concat(const SkMatrix& matrix) |
void GraphicsContext::beginTransparencyLayer(float opacity, const FloatRect* bounds) |
{ |
- beginLayer(opacity, immutableState()->compositeOperator(), bounds); |
+ beginLayer(opacity, immutableState()->compositeOperation(), bounds); |
} |
-void GraphicsContext::beginLayer(float opacity, CompositeOperator op, const FloatRect* bounds, ColorFilter colorFilter, ImageFilter* imageFilter) |
+void GraphicsContext::beginLayer(float opacity, SkXfermode::Mode xfermode, const FloatRect* bounds, ColorFilter colorFilter, ImageFilter* imageFilter) |
{ |
if (contextDisabled()) |
return; |
SkPaint layerPaint; |
layerPaint.setAlpha(static_cast<unsigned char>(opacity * 255)); |
- layerPaint.setXfermodeMode(WebCoreCompositeToSkiaComposite(op, m_paintState->blendMode())); |
+ layerPaint.setXfermodeMode(xfermode); |
layerPaint.setColorFilter(WebCoreColorFilterToSkiaColorFilter(colorFilter).get()); |
layerPaint.setImageFilter(imageFilter); |