diff options
author | mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-04-02 13:37:23 +0000 |
---|---|---|
committer | mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-04-02 13:37:23 +0000 |
commit | 2ecead560421447acaf6ef6f1e8ba9da313b29d5 (patch) | |
tree | 8ea86f2fa2c914b5ed5ab8cb81988d43e04a234e /bench/RectBench.cpp | |
parent | 50dfa0130b0705414df7ba7da9915139f6320b09 (diff) |
add 2 stroke tests to rects
git-svn-id: http://skia.googlecode.com/svn/trunk@1038 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'bench/RectBench.cpp')
-rw-r--r-- | bench/RectBench.cpp | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/bench/RectBench.cpp b/bench/RectBench.cpp index a6f300e330..fb54640c06 100644 --- a/bench/RectBench.cpp +++ b/bench/RectBench.cpp @@ -7,7 +7,7 @@ class RectBench : public SkBenchmark { public: - int fShift; + int fShift, fStroke; enum { W = 640, H = 480, @@ -16,8 +16,9 @@ public: SkRect fRects[N]; SkColor fColors[N]; - RectBench(void* param, int shift) : INHERITED(param), fShift(shift) { + RectBench(void* param, int shift, int stroke = 0) : INHERITED(param), fShift(shift), fStroke(stroke) { SkRandom rand; + const SkScalar offset = SK_Scalar1/3; for (int i = 0; i < N; i++) { int x = rand.nextU() % W; int y = rand.nextU() % H; @@ -29,14 +30,17 @@ public: y -= h/2; fRects[i].set(SkIntToScalar(x), SkIntToScalar(y), SkIntToScalar(x+w), SkIntToScalar(y+h)); + fRects[i].offset(offset, offset); fColors[i] = rand.nextU() | 0xFF808080; } } SkString fName; const char* computeName(const char root[]) { - fName.set(root); - fName.appendS32(fShift); + fName.printf("%s_%d", root, fShift); + if (fStroke > 0) { + fName.appendf("_stroke_%d", fStroke); + } return fName.c_str(); } @@ -48,6 +52,10 @@ protected: virtual const char* onGetName() { return computeName("rects"); } virtual void onDraw(SkCanvas* canvas) { SkPaint paint; + if (fStroke > 0) { + paint.setStyle(SkPaint::kStroke_Style); + paint.setStrokeWidth(SkIntToScalar(fStroke)); + } for (int i = 0; i < N; i++) { paint.setColor(fColors[i]); this->setupPaint(&paint); @@ -192,8 +200,10 @@ private: }; -static SkBenchmark* RectFactory1(void* p) { return SkNEW_ARGS(RectBench, (p, 1)); } -static SkBenchmark* RectFactory2(void* p) { return SkNEW_ARGS(RectBench, (p, 3)); } +static SkBenchmark* RectFactory1F(void* p) { return SkNEW_ARGS(RectBench, (p, 1)); } +static SkBenchmark* RectFactory1S(void* p) { return SkNEW_ARGS(RectBench, (p, 1, 4)); } +static SkBenchmark* RectFactory2F(void* p) { return SkNEW_ARGS(RectBench, (p, 3)); } +static SkBenchmark* RectFactory2S(void* p) { return SkNEW_ARGS(RectBench, (p, 3, 4)); } static SkBenchmark* OvalFactory1(void* p) { return SkNEW_ARGS(OvalBench, (p, 1)); } static SkBenchmark* OvalFactory2(void* p) { return SkNEW_ARGS(OvalBench, (p, 3)); } static SkBenchmark* RRectFactory1(void* p) { return SkNEW_ARGS(RRectBench, (p, 1)); } @@ -234,8 +244,11 @@ static SkBenchmark* BlitMaskShaderFactory(void* p) { BlitMaskBench::KMaskShader, "maskshader") ); } -static BenchRegistry gRectReg1(RectFactory1); -static BenchRegistry gRectReg2(RectFactory2); + +static BenchRegistry gRectReg1F(RectFactory1F); +static BenchRegistry gRectReg1S(RectFactory1S); +static BenchRegistry gRectReg2F(RectFactory2F); +static BenchRegistry gRectReg2S(RectFactory2S); static BenchRegistry gOvalReg1(OvalFactory1); static BenchRegistry gOvalReg2(OvalFactory2); static BenchRegistry gRRectReg1(RRectFactory1); |