Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Unified Diff: Source/platform/graphics/DrawLooper.cpp

Issue 177473003: Use SkLayerDrawLooper::Builder to construct SkLayerDrawLooper. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use OwnPtr instead of RefPtr Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698