blob: 27009d9e7d52d0b25e17bcf0e2c63b674d403de9 [file] [log] [blame]
#ifndef SkBenchmark_DEFINED
#define SkBenchmark_DEFINED
#include "SkRefCnt.h"
#include "SkPoint.h"
#include "SkTRegistry.h"
class SkCanvas;
class SkPaint;
class SkBenchmark : public SkRefCnt {
public:
SkBenchmark();
const char* getName();
SkIPoint getSize();
void draw(SkCanvas*);
void setForceAlpha(int alpha) {
fForceAlpha = alpha;
}
void setForceAA(bool aa) {
fForceAA = aa;
}
protected:
void setupPaint(SkPaint* paint);
virtual const char* onGetName() = 0;
virtual void onDraw(SkCanvas*) = 0;
virtual SkIPoint onGetSize();
private:
int fForceAlpha;
bool fForceAA;
};
static inline SkIPoint SkMakeIPoint(int x, int y) {
SkIPoint p;
p.set(x, y);
return p;
}
typedef SkTRegistry<SkBenchmark*, void*> BenchRegistry;
#endif