aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/RectBench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bench/RectBench.cpp')
-rw-r--r--bench/RectBench.cpp36
1 files changed, 28 insertions, 8 deletions
diff --git a/bench/RectBench.cpp b/bench/RectBench.cpp
index 2595bd5718..92abee65ed 100644
--- a/bench/RectBench.cpp
+++ b/bench/RectBench.cpp
@@ -169,30 +169,48 @@ public:
H = 480,
};
- AARectBench(void* param) : INHERITED(param) {}
+ AARectBench(void* param, bool rotate) : INHERITED(param), fRotate(rotate) {}
protected:
- virtual const char* onGetName() { return "aarects"; }
+ virtual const char* onGetName() {
+ if (fRotate) {
+ return "aarects_rotated";
+ }
+ return "aarects";
+ }
virtual void onDraw(SkCanvas* canvas) {
+ static const SkScalar kHalfRectSize = SkFloatToScalar(0.75f);
+
SkPaint paint;
this->setupPaint(&paint);
paint.setAntiAlias(true);
paint.setColor(SK_ColorBLACK);
- SkRect r;
+ SkRect r = { -kHalfRectSize, -kHalfRectSize, kHalfRectSize, kHalfRectSize };
+ int rot = 0;
// Draw small aa rects in a grid across the screen
- for (SkScalar y = SK_ScalarHalf; y < H; y += SkIntToScalar(2)) {
- for (SkScalar x = SK_ScalarHalf; x < W; x += SkIntToScalar(2)) {
- r.set(x, y,
- x+SkFloatToScalar(1.5f), y+SkFloatToScalar(1.5f));
+ for (SkScalar y = kHalfRectSize+SK_Scalar1; y < H; y += 2*kHalfRectSize+2) {
+ for (SkScalar x = kHalfRectSize+SK_Scalar1; x < W; x += 2*kHalfRectSize+2) {
+ canvas->save();
+ canvas->translate(x, y);
+
+ if (fRotate) {
+ SkMatrix rotate;
+ rotate.setRotate(SkIntToScalar(rot));
+ canvas->concat(rotate);
+ rot += 10;
+ }
+
canvas->drawRect(r, paint);
+ canvas->restore();
}
}
}
private:
+ bool fRotate;
typedef SkBenchmark INHERITED;
};
@@ -290,7 +308,9 @@ DEF_BENCH( return SkNEW_ARGS(PointsBench, (p, SkCanvas::kLines_PointMode, "lines
DEF_BENCH( return SkNEW_ARGS(PointsBench, (p, SkCanvas::kPolygon_PointMode, "polygon")); )
DEF_BENCH( return SkNEW_ARGS(SrcModeRectBench, (p)); )
-DEF_BENCH( return SkNEW_ARGS(AARectBench, (p)); )
+
+DEF_BENCH( return SkNEW_ARGS(AARectBench, (p, false)); )
+DEF_BENCH( return SkNEW_ARGS(AARectBench, (p, true)); )
/* init the blitmask bench
*/