Index: include/core/SkAbortCallback.h |
diff --git a/include/core/SkAbortCallback.h b/include/core/SkAbortCallback.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dcdb6ae8e4400a09780818c7a574a138f7c7be4f |
--- /dev/null |
+++ b/include/core/SkAbortCallback.h |
@@ -0,0 +1,31 @@ |
+/* |
+ * Copyright 2014 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#include "SkTypes.h" |
+ |
+#ifndef SkAbortCallback_DEFINED |
+#define SkAbortCallback_DEFINED |
+ |
+/** |
+* Subclasses of this can be passed to SkPicture::playback(). During the playback |
+* of the picture, this callback will periodically be invoked. If its |
+* abort() returns true, then picture playback will be interrupted. |
+* |
+* The resulting drawing is undefined, as there is no guarantee how often the |
+* callback will be invoked. If the abort happens inside some level of nested |
+* calls to save(), restore will automatically be called to return the state |
+* to the same level it was before the playback call was made. |
+*/ |
+class SK_API SkAbortCallback { |
+public: |
+ SkAbortCallback() {} |
+ virtual ~SkAbortCallback() {} |
+ |
+ virtual bool abort() = 0; |
+}; |
+ |
+#endif // SkAbortCallback_DEFINED |