summaryrefslogtreecommitdiff
path: root/libs/canvas/benchmark/benchmark.h
blob: 86ed6653c1c7f3412ac2eaac2edc68c4c85b299c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
};