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: