Index: Source/platform/graphics/DrawLooper.cpp |
diff --git a/Source/platform/graphics/DrawLooper.cpp b/Source/platform/graphics/DrawLooper.cpp |
index 7e32af73feaa58f46031efb5b0aea099ef61749c..f3a9dcc307571216879092ec18b4782d477a3dd7 100644 |
--- a/Source/platform/graphics/DrawLooper.cpp |
+++ b/Source/platform/graphics/DrawLooper.cpp |
@@ -39,11 +39,10 @@ |
#include "third_party/skia/include/core/SkPaint.h" |
#include "third_party/skia/include/core/SkXfermode.h" |
#include "third_party/skia/include/effects/SkBlurMaskFilter.h" |
-#include "third_party/skia/include/effects/SkLayerDrawLooper.h" |
namespace WebCore { |
-DrawLooper::DrawLooper() : m_skDrawLooper(adoptRef(new SkLayerDrawLooper)) { } |
+DrawLooper::DrawLooper(SkDrawLooper* looper) : m_skDrawLooper(adoptRef(looper)) { } |
jbroman
2014/02/24 17:47:44
Nit (see what schenney thinks):
My preference wou
Dominik Grewe
2014/02/24 18:34:39
Done.
|
DrawLooper::~DrawLooper() { } |
@@ -52,13 +51,13 @@ SkDrawLooper* DrawLooper::skDrawLooper() const |
return m_skDrawLooper.get(); |
} |
-void DrawLooper::addUnmodifiedContent() |
+void DrawLooper::Builder::addUnmodifiedContent() |
{ |
SkLayerDrawLooper::LayerInfo info; |
- m_skDrawLooper->addLayerOnTop(info); |
+ m_skDrawLooperBuilder.addLayerOnTop(info); |
} |
-void DrawLooper::addShadow(const FloatSize& offset, float blur, const Color& color, |
+void DrawLooper::Builder::addShadow(const FloatSize& offset, float blur, const Color& color, |
ShadowTransformMode shadowTransformMode, ShadowAlphaMode shadowAlphaMode) |
{ |
// Detect when there's no effective shadow. |
@@ -86,7 +85,7 @@ void DrawLooper::addShadow(const FloatSize& offset, float blur, const Color& col |
info.fOffset.set(offset.width(), offset.height()); |
info.fPostTranslate = (shadowTransformMode == ShadowIgnoresTransforms); |
- SkPaint* paint = m_skDrawLooper->addLayerOnTop(info); |
+ SkPaint* paint = m_skDrawLooperBuilder.addLayerOnTop(info); |
if (blur) { |
uint32_t mfFlags = SkBlurMaskFilter::kHighQuality_BlurFlag; |
@@ -101,4 +100,9 @@ void DrawLooper::addShadow(const FloatSize& offset, float blur, const Color& col |
paint->setColorFilter(cf.get()); |
} |
+PassRefPtr<DrawLooper> DrawLooper::Builder::detachDrawLooper() |
+{ |
+ return adoptRef(new DrawLooper(m_skDrawLooperBuilder.detachLooper())); |
+} |
+ |
} // namespace WebCore |