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

Unified Diff: include/effects/SkLayerRasterizer.h

Issue 233673002: Create SkLayerRasterizer w/o destroying Builder. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Better comments. New function is now const, and has a better name. Created 6 years, 8 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 | « gyp/tests.gypi ('k') | src/effects/SkLayerRasterizer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/effects/SkLayerRasterizer.h
diff --git a/include/effects/SkLayerRasterizer.h b/include/effects/SkLayerRasterizer.h
index fdfb179cb6bab604188c2f20b12f74697e29b757..fc21a7cd18884d72efcf3bbe95b5245dc408fa21 100644
--- a/include/effects/SkLayerRasterizer.h
+++ b/include/effects/SkLayerRasterizer.h
@@ -39,10 +39,26 @@ public:
/**
* Pass queue of layers on to newly created layer rasterizer and return it. The builder
- * cannot be used any more after calling this function.
+ * *cannot* be used any more after calling this function.
+ *
+ * The caller is responsible for calling unref() on the returned object.
*/
SkLayerRasterizer* detachRasterizer();
+ /**
+ * Create and return a new immutable SkLayerRasterizer that contains a shapshot of the
+ * layers that were added to the Builder, without modifying the Builder. The Builder
+ * *may* be used after calling this function. It will continue to hold any layers
+ * previously added, so consecutive calls to this function will return identical objects,
+ * and objects returned by future calls to this function contain all the layers in
+ * previously returned objects.
+ *
+ * Future calls to addLayer will not affect rasterizers previously returned by this call.
+ *
+ * The caller is responsible for calling unref() on the returned object.
+ */
+ SkLayerRasterizer* snapshotRasterizer() const;
reed1 2014/04/10 20:16:42 can this guy be const? Does it have to be? I'd be
scroggo 2014/04/10 20:21:37 As stated in person, it can, but does not have to
+
private:
SkDeque* fLayers;
};
@@ -86,6 +102,8 @@ private:
static SkDeque* ReadLayers(SkReadBuffer& buffer);
+ friend class LayerRasterizerTester;
+
typedef SkRasterizer INHERITED;
};
« no previous file with comments | « gyp/tests.gypi ('k') | src/effects/SkLayerRasterizer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698