summaryrefslogtreecommitdiff
path: root/src/progress.h
diff options
context:
space:
mode:
authorkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-09 13:48:09 (GMT)
committerkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-09 13:48:09 (GMT)
commitc7b9a49c15f10ee76258f735ff66c1ed32e64c51 (patch)
treeebc9ef37dc44c0eed9c144441f5f763c381fdb08 /src/progress.h
parent66ac9239767dd2151e61a11bc3fb9605c2a4d917 (diff)
Cleaned up progress handling, implemented cancel function. Needs more testing
git-svn-id: http://svn.clifford.at/openscad/trunk@420 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'src/progress.h')
-rw-r--r--src/progress.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/progress.h b/src/progress.h
new file mode 100644
index 0000000..33c340c
--- /dev/null
+++ b/src/progress.h
@@ -0,0 +1,16 @@
+#ifndef PROGRESS_H_
+#define PROGRESS_H_
+
+// Reset to 0 in _prep() and increased for each Node instance in progress_prepare()
+extern int progress_report_count;
+
+extern void (*progress_report_f)(const class AbstractNode*, void*, int);
+extern void *progress_report_userdata;
+
+void progress_report_prep(AbstractNode *root, void (*f)(const class AbstractNode *node, void *userdata, int mark), void *userdata);
+void progress_report_fin();
+void progress_update(const AbstractNode *node, int mark);
+
+class ProgressCancelException { };
+
+#endif
contact: Jan Huwald // Impressum