skia2/bench/SkBenchmark.h
reed@android.com e9d0060f4d add decode bench
add dictionary for bench tools to see optional cmdline args



git-svn-id: http://skia.googlecode.com/svn/trunk@351 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-02 21:12:42 +00:00

59 lines
1.0 KiB
C++

#ifndef SkBenchmark_DEFINED
#define SkBenchmark_DEFINED
#include "SkRefCnt.h"
#include "SkPoint.h"
#include "SkTDict.h"
#include "SkTRegistry.h"
class SkCanvas;
class SkPaint;
class SkBenchmark : public SkRefCnt {
public:
SkBenchmark(void* defineDict);
const char* getName();
SkIPoint getSize();
void draw(SkCanvas*);
void setForceAlpha(int alpha) {
fForceAlpha = alpha;
}
void setForceAA(bool aa) {
fForceAA = aa;
}
void setForceFilter(bool filter) {
fForceFilter = filter;
}
const char* findDefine(const char* key) const;
protected:
void setupPaint(SkPaint* paint);
virtual const char* onGetName() = 0;
virtual void onDraw(SkCanvas*) = 0;
virtual SkIPoint onGetSize();
private:
const SkTDict<const char*>* fDict;
int fForceAlpha;
bool fForceAA;
bool fForceFilter;
};
static inline SkIPoint SkMakeIPoint(int x, int y) {
SkIPoint p;
p.set(x, y);
return p;
}
typedef SkTRegistry<SkBenchmark*, void*> BenchRegistry;
#endif