blob: 87bf67ae8bfba9852e26adf5edd3efabb6931498 [file] [log] [blame]
reed@android.combd700c32009-01-05 03:34:50 +00001#ifndef SkBenchmark_DEFINED
2#define SkBenchmark_DEFINED
3
4#include "SkRefCnt.h"
5#include "SkPoint.h"
6
7class SkCanvas;
reed@android.com4bc19832009-01-19 20:08:35 +00008class SkPaint;
reed@android.combd700c32009-01-05 03:34:50 +00009
10class SkBenchmark : public SkRefCnt {
11public:
reed@android.com4bc19832009-01-19 20:08:35 +000012 SkBenchmark();
13
reed@android.combd700c32009-01-05 03:34:50 +000014 const char* getName();
15 SkIPoint getSize();
16 void draw(SkCanvas*);
reed@android.com4bc19832009-01-19 20:08:35 +000017
18 void setForceAlpha(int alpha) {
19 fForceAlpha = alpha;
20 }
21
22 void setForceAA(bool aa) {
23 fForceAA = aa;
24 }
reed@android.combd700c32009-01-05 03:34:50 +000025
26protected:
reed@android.com4bc19832009-01-19 20:08:35 +000027 void setupPaint(SkPaint* paint);
28
reed@android.combd700c32009-01-05 03:34:50 +000029 virtual const char* onGetName() = 0;
30 virtual SkIPoint onGetSize() = 0;
31 virtual void onDraw(SkCanvas*) = 0;
reed@android.com4bc19832009-01-19 20:08:35 +000032
33private:
34 int fForceAlpha;
35 bool fForceAA;
reed@android.combd700c32009-01-05 03:34:50 +000036};
37
38static inline SkIPoint SkMakeIPoint(int x, int y) {
39 SkIPoint p;
40 p.set(x, y);
41 return p;
42}
43
reed@android.combd700c32009-01-05 03:34:50 +000044#endif
45