| Index: bench/RectBench.cpp | 
| =================================================================== | 
| --- bench/RectBench.cpp	(revision 8933) | 
| +++ bench/RectBench.cpp	(working copy) | 
| @@ -169,30 +169,48 @@ | 
| 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,8 +308,10 @@ | 
| 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 | 
| */ | 
| DEF_BENCH( return SkNEW_ARGS(BlitMaskBench, | 
|  |