summaryrefslogtreecommitdiff
path: root/libs/canvas/benchmark/benchmark.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/canvas/benchmark/benchmark.h')
-rw-r--r--libs/canvas/benchmark/benchmark.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/libs/canvas/benchmark/benchmark.h b/libs/canvas/benchmark/benchmark.h
new file mode 100644
index 0000000000..df6fd0ea89
--- /dev/null
+++ b/libs/canvas/benchmark/benchmark.h
@@ -0,0 +1,26 @@
+#include "pbd/xml++.h"
+#include "canvas/types.h"
+
+extern double double_random ();
+extern ArdourCanvas::Rect rect_random (double);
+
+namespace ArdourCanvas {
+ class ImageCanvas;
+}
+
+class Benchmark
+{
+public:
+ Benchmark (std::string const &);
+ virtual ~Benchmark () {}
+
+ void set_iterations (int);
+ double run ();
+
+ virtual void do_run (ArdourCanvas::ImageCanvas &) = 0;
+ virtual void finish (ArdourCanvas::ImageCanvas &) {}
+
+private:
+ ArdourCanvas::ImageCanvas* _canvas;
+ int _iterations;
+};