aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core
diff options
context:
space:
mode:
Diffstat (limited to 'include/core')
-rw-r--r--include/core/SkSurface.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/include/core/SkSurface.h b/include/core/SkSurface.h
index d4d5c5237e..cf139b1bc9 100644
--- a/include/core/SkSurface.h
+++ b/include/core/SkSurface.h
@@ -79,10 +79,26 @@ public:
uint32_t generationID();
/**
- * Call this if the contents have changed. This will (lazily) force a new
+ * Modes that can be passed to notifyContentWillChange
+ */
+ enum ContentChangeMode {
+ /**
+ * Use this mode if it is known that the upcoming content changes will
+ * clear or overwrite prior contents, thus making them discardable.
+ */
+ kDiscard_ContentChangeMode,
+ /**
+ * Use this mode if prior surface contents need to be preserved or
+ * if in doubt.
+ */
+ kRetain_ContentChangeMode,
+ };
+
+ /**
+ * Call this if the contents are about to change. This will (lazily) force a new
* value to be returned from generationID() when it is called next.
*/
- void notifyContentChanged();
+ void notifyContentWillChange(ContentChangeMode mode);
/**
* Return a canvas that will draw into this surface. This will always