Make sure SkDrawLooper objects can only be allocated on the heap.

Make constructors of SkLayerDrawLooper and SkBlurDrawLooper non-public.
Remove addLayer* methods from SkLayerDrawLooper. SkLayerDrawLooper::Builder is
used to create new objects.
Provide factory method for creating SkBlurDrawLooper.

BUG=2141
R=scroggo@google.com, reed@google.com, djsollen@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/232913003

git-svn-id: http://skia.googlecode.com/svn/trunk@14200 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/effects/SkLayerDrawLooper.h b/include/effects/SkLayerDrawLooper.h
index 1e76ce2..fe660a8 100644
--- a/include/effects/SkLayerDrawLooper.h
+++ b/include/effects/SkLayerDrawLooper.h
@@ -17,7 +17,6 @@
 public:
     SK_DECLARE_INST_COUNT(SkLayerDrawLooper)
 
-            SkLayerDrawLooper();
     virtual ~SkLayerDrawLooper();
 
     /**
@@ -74,26 +73,6 @@
         LayerInfo();
     };
 
-    /**
-     *  Call for each layer you want to add (from top to bottom).
-     *  This returns a paint you can modify, but that ptr is only valid until
-     *  the next call made to addLayer().
-     */
-    SkPaint* addLayer(const LayerInfo&);
-
-    /**
-     *  This layer will draw with the original paint, at the specified offset
-     */
-    void addLayer(SkScalar dx, SkScalar dy);
-
-    /**
-     *  This layer will with the original paint and no offset.
-     */
-    void addLayer() { this->addLayer(0, 0); }
-
-    /// Similar to addLayer, but adds a layer to the top.
-    SkPaint* addLayerOnTop(const LayerInfo&);
-
     virtual SkDrawLooper::Context* createContext(SkCanvas*, void* storage) const SK_OVERRIDE;
 
     virtual size_t contextSize() const SK_OVERRIDE { return sizeof(LayerDrawLooperContext); }
@@ -105,6 +84,8 @@
     static SkFlattenable* CreateProc(SkReadBuffer& buffer);
 
 protected:
+    SkLayerDrawLooper();
+
     virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
 
 private: