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

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

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
« no previous file with comments | « Source/core/rendering/svg/SVGInlineTextBox.cpp ('k') | Source/platform/graphics/DrawLooper.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/graphics/DrawLooper.h
diff --git a/Source/platform/graphics/DrawLooper.h b/Source/platform/graphics/DrawLooper.h
index 4a66910c30029162ca8768a7cc52f49b3dc366f8..67d0542a6c85374c598678022c4e2e4184de517d 100644
--- a/Source/platform/graphics/DrawLooper.h
+++ b/Source/platform/graphics/DrawLooper.h
@@ -32,11 +32,12 @@
#define DrawLooper_h
#include "platform/PlatformExport.h"
+#include "third_party/skia/include/effects/SkLayerDrawLooper.h"
#include "wtf/Noncopyable.h"
-#include "wtf/RefPtr.h"
+#include "wtf/OwnPtr.h"
+#include "wtf/PassOwnPtr.h"
class SkDrawLooper;
-class SkLayerDrawLooper;
namespace WebCore {
@@ -58,20 +59,33 @@ public:
ShadowIgnoresAlpha
};
- DrawLooper();
~DrawLooper();
// Callees should not modify this looper other than to iterate over it.
// A downcast to SkLayerDrawLooper* is tantamount to a const_cast.
SkDrawLooper* skDrawLooper() const;
- void addUnmodifiedContent();
- void addShadow(const FloatSize& offset, float blur, const Color&,
- ShadowTransformMode = ShadowRespectsTransforms,
- ShadowAlphaMode = ShadowRespectsAlpha);
+ class Builder {
+ public:
+ Builder() { }
+ ~Builder() { }
+
+ void addUnmodifiedContent();
+ void addShadow(const FloatSize& offset, float blur, const Color&,
+ ShadowTransformMode = ShadowRespectsTransforms,
+ ShadowAlphaMode = ShadowRespectsAlpha);
+
+ // Pass layers to new DrawLooper object and return it. The builder
+ // should not be used any more after calling this method.
+ PassOwnPtr<DrawLooper> detachDrawLooper();
+
+ private:
+ SkLayerDrawLooper::Builder m_skDrawLooperBuilder;
+ };
private:
- RefPtr<SkLayerDrawLooper> m_skDrawLooper;
+ DrawLooper(PassOwnPtr<SkDrawLooper>);
+ OwnPtr<SkDrawLooper> m_skDrawLooper;
jbroman 2014/02/24 18:53:38 I'm sorry I wasn't clear enough before, but while
Dominik Grewe 2014/02/24 19:41:03 Of course, sorry. Wasn't thinking properly ;) Will
};
} // namespace WebCore
« no previous file with comments | « Source/core/rendering/svg/SVGInlineTextBox.cpp ('k') | Source/platform/graphics/DrawLooper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698