Chromium Code Reviews| Index: Source/platform/graphics/DrawLooperBuilder.h |
| diff --git a/Source/platform/graphics/DrawLooper.h b/Source/platform/graphics/DrawLooperBuilder.h |
| similarity index 78% |
| rename from Source/platform/graphics/DrawLooper.h |
| rename to Source/platform/graphics/DrawLooperBuilder.h |
| index 4a66910c30029162ca8768a7cc52f49b3dc366f8..1eecff3a220dbd38664ac8b36c6db06fc7a290db 100644 |
| --- a/Source/platform/graphics/DrawLooper.h |
| +++ b/Source/platform/graphics/DrawLooperBuilder.h |
| @@ -28,25 +28,25 @@ |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| -#ifndef DrawLooper_h |
| -#define DrawLooper_h |
| +#ifndef DrawLooperBuilder_h |
| +#define DrawLooperBuilder_h |
| #include "platform/PlatformExport.h" |
| +#include "third_party/skia/include/effects/SkLayerDrawLooper.h" |
| #include "wtf/Noncopyable.h" |
| -#include "wtf/RefPtr.h" |
| +#include "wtf/PassRefPtr.h" |
| class SkDrawLooper; |
| -class SkLayerDrawLooper; |
| namespace WebCore { |
| class Color; |
| class FloatSize; |
| -class PLATFORM_EXPORT DrawLooper { |
| +class PLATFORM_EXPORT DrawLooperBuilder { |
|
Stephen Chennney
2014/02/26 19:35:18
Add "final" keyword to prevent inheritance.
This i
Dominik Grewe
2014/02/27 12:15:09
Done.
|
| // Implementing the copy constructor properly would require writing code to |
| - // copy the underlying SkDrawLooper. |
| - WTF_MAKE_NONCOPYABLE(DrawLooper); |
| + // copy the underlying SkLayerDrawLooper::Builder. |
| + WTF_MAKE_NONCOPYABLE(DrawLooperBuilder); |
| public: |
| enum ShadowTransformMode { |
| @@ -58,12 +58,12 @@ public: |
| ShadowIgnoresAlpha |
| }; |
| - DrawLooper(); |
| - ~DrawLooper(); |
| + DrawLooperBuilder(); |
| + ~DrawLooperBuilder(); |
| - // 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; |
| + // Creates the SkDrawLooper and passes ownership to the caller. The builder |
| + // should not be used any more after calling this method. |
| + PassRefPtr<SkDrawLooper> detachDrawLooper(); |
| void addUnmodifiedContent(); |
| void addShadow(const FloatSize& offset, float blur, const Color&, |
| @@ -71,9 +71,9 @@ public: |
| ShadowAlphaMode = ShadowRespectsAlpha); |
| private: |
| - RefPtr<SkLayerDrawLooper> m_skDrawLooper; |
| + SkLayerDrawLooper::Builder m_skDrawLooperBuilder; |
| }; |
| } // namespace WebCore |
| -#endif // DrawLooper_h |
| +#endif // DrawLooperBuilder_h |