| Index: Source/platform/graphics/DrawLooperBuilder.h
|
| diff --git a/Source/platform/graphics/DrawLooper.h b/Source/platform/graphics/DrawLooperBuilder.h
|
| similarity index 76%
|
| rename from Source/platform/graphics/DrawLooper.h
|
| rename to Source/platform/graphics/DrawLooperBuilder.h
|
| index 4a66910c30029162ca8768a7cc52f49b3dc366f8..79cce8da67feef0ead58bf2452e847af8f27c1fb 100644
|
| --- a/Source/platform/graphics/DrawLooper.h
|
| +++ b/Source/platform/graphics/DrawLooperBuilder.h
|
| @@ -28,25 +28,26 @@
|
| * 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/PassOwnPtr.h"
|
| +#include "wtf/PassRefPtr.h"
|
|
|
| class SkDrawLooper;
|
| -class SkLayerDrawLooper;
|
|
|
| namespace WebCore {
|
|
|
| class Color;
|
| class FloatSize;
|
|
|
| -class PLATFORM_EXPORT DrawLooper {
|
| +class PLATFORM_EXPORT DrawLooperBuilder FINAL {
|
| // 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 +59,14 @@ 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;
|
| + static PassOwnPtr<DrawLooperBuilder> create();
|
| +
|
| + // 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 +74,9 @@ public:
|
| ShadowAlphaMode = ShadowRespectsAlpha);
|
|
|
| private:
|
| - RefPtr<SkLayerDrawLooper> m_skDrawLooper;
|
| + SkLayerDrawLooper::Builder m_skDrawLooperBuilder;
|
| };
|
|
|
| } // namespace WebCore
|
|
|
| -#endif // DrawLooper_h
|
| +#endif // DrawLooperBuilder_h
|
|
|