6fd950ca5c
This reverts commit r538 for the moment. In order to roll Chrome to include some bug fixes, I want to land it in between this revert, and the revert revert. That way the baseline changes from the other revisions can be considered without conflating the huge number of changes due to r538. git-svn-id: http://skia.googlecode.com/svn/trunk@560 2bbb7eff-a529-9590-31e7-b0007b416f81
69 lines
1.3 KiB
C++
69 lines
1.3 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 SkTriState {
|
|
public:
|
|
enum State {
|
|
kDefault,
|
|
kTrue,
|
|
kFalse
|
|
};
|
|
};
|
|
|
|
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;
|
|
}
|
|
|
|
void setDither(SkTriState::State state) {
|
|
fDither = state;
|
|
}
|
|
|
|
const char* findDefine(const char* key) const;
|
|
bool findDefine32(const char* key, int32_t* value) const;
|
|
bool findDefineScalar(const char* key, SkScalar* value) 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;
|
|
SkTriState::State fDither;
|
|
};
|
|
|
|
typedef SkTRegistry<SkBenchmark*, void*> BenchRegistry;
|
|
|
|
#endif
|
|
|