Index: include/core/SkSurface.h |
diff --git a/include/core/SkSurface.h b/include/core/SkSurface.h |
index aa1e2cc2bbc9c76337ec324cae6868c090985fc2..1fd345a2fa89f05faa19e722b375f5063c355306 100644 |
--- a/include/core/SkSurface.h |
+++ b/include/core/SkSurface.h |
@@ -33,6 +33,18 @@ public: |
SK_DECLARE_INST_COUNT(SkSurface) |
/** |
+ * Indicates whether a new surface or image should count against a cache budget. Currently this |
+ * is only used by the GPU backend (sw-raster surfaces and images are never counted against the |
+ * resource cache budget.) |
+ */ |
+ enum Budgeted { |
+ /** The surface or image does not count against the cache budget. */ |
+ kNo_Budgeted, |
+ /** The surface or image counts against the cache budget. */ |
+ kYes_Budgeted |
+ }; |
+ |
+ /** |
* Create a new surface, using the specified pixels/rowbytes as its |
* backend. |
* |
@@ -86,30 +98,27 @@ public: |
* Return a new surface whose contents will be drawn to an offscreen |
* render target, allocated by the surface. |
*/ |
- static SkSurface* NewRenderTarget(GrContext*, const SkImageInfo&, int sampleCount, |
+ static SkSurface* NewRenderTarget(GrContext*, Budgeted, const SkImageInfo&, int sampleCount, |
const SkSurfaceProps* = NULL); |
- static SkSurface* NewRenderTarget(GrContext* gr, const SkImageInfo& info) { |
- return NewRenderTarget(gr, info, 0, NULL); |
+ static SkSurface* NewRenderTarget(GrContext* gr, Budgeted b, const SkImageInfo& info) { |
+ return NewRenderTarget(gr, b, info, 0, NULL); |
} |
/** |
- * Return a new surface whose contents will be drawn to an offscreen |
- * render target, allocated by the surface from the scratch texture pool |
- * managed by the GrContext. The scratch texture pool serves the purpose |
- * of retaining textures after they are no longer in use in order to |
- * re-use them later without having to re-allocate. Scratch textures |
- * should be used in cases where high turnover is expected. This allows, |
- * for example, the copy on write to recycle a texture from a recently |
- * released SkImage snapshot of the surface. |
- * Note: Scratch textures count against the GrContext's cached resource |
- * budget. |
- */ |
- static SkSurface* NewScratchRenderTarget(GrContext*, const SkImageInfo&, int sampleCount, |
- const SkSurfaceProps* = NULL); |
- |
- static SkSurface* NewScratchRenderTarget(GrContext* gr, const SkImageInfo& info) { |
- return NewScratchRenderTarget(gr, info, 0, NULL); |
+ * Deprecated - use the Budgeted param on NewRenderTarget. |
+ */ |
+ static SkSurface* NewScratchRenderTarget(GrContext* gr, const SkImageInfo& info, |
+ int sampleCount, const SkSurfaceProps* props) { |
+ return NewRenderTarget(gr, kYes_Budgeted, info, sampleCount, props); |
+ } |
+ |
+ /** |
+ * Deprecated - use the version that takes a Budgeted param. |
+ */ |
+ static SkSurface* NewRenderTarget(GrContext* gr, const SkImageInfo& info, int sampleCount, |
+ const SkSurfaceProps* props) { |
+ return NewRenderTarget(gr, kNo_Budgeted, info, sampleCount, props); |
} |
int width() const { return fWidth; } |