Merge branch 'master' into cairocanvas
[ardour.git] / libs / canvas / benchmark / benchmark.h
1 #include "pbd/xml++.h"
2 #include "canvas/types.h"
3
4 extern double double_random ();
5 extern ArdourCanvas::Rect rect_random (double);
6
7 namespace ArdourCanvas {
8         class ImageCanvas;
9 }
10
11 class Benchmark
12 {
13 public:
14         Benchmark (std::string const &);
15         virtual ~Benchmark () {}
16
17         void set_iterations (int);
18         double run ();
19         
20         virtual void do_run (ArdourCanvas::ImageCanvas &) = 0;
21         virtual void finish (ArdourCanvas::ImageCanvas &) {}
22
23 private:
24         ArdourCanvas::ImageCanvas* _canvas;
25         int _iterations;
26 };