| Index: Source/platform/graphics/DrawLooper.cpp
|
| diff --git a/Source/platform/graphics/DrawLooper.cpp b/Source/platform/graphics/DrawLooper.cpp
|
| index 7e32af73feaa58f46031efb5b0aea099ef61749c..08811618fd23e0cbd73aca0d11bf01cd480914db 100644
|
| --- a/Source/platform/graphics/DrawLooper.cpp
|
| +++ b/Source/platform/graphics/DrawLooper.cpp
|
| @@ -39,11 +39,11 @@
|
| #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"
|
| +#include "wtf/RefPtr.h"
|
|
|
| namespace WebCore {
|
|
|
| -DrawLooper::DrawLooper() : m_skDrawLooper(adoptRef(new SkLayerDrawLooper)) { }
|
| +DrawLooper::DrawLooper(PassOwnPtr<SkDrawLooper> looper) : m_skDrawLooper(looper) { }
|
|
|
| DrawLooper::~DrawLooper() { }
|
|
|
| @@ -52,13 +52,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 +86,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 +101,9 @@ void DrawLooper::addShadow(const FloatSize& offset, float blur, const Color& col
|
| paint->setColorFilter(cf.get());
|
| }
|
|
|
| +PassOwnPtr<DrawLooper> DrawLooper::Builder::detachDrawLooper()
|
| +{
|
| + return adoptPtr(new DrawLooper(adoptPtr(m_skDrawLooperBuilder.detachLooper())));
|
| +}
|
| +
|
| } // namespace WebCore
|
|
|