OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 #include "Benchmark.h" | 7 #include "Benchmark.h" |
8 #include "SkCanvas.h" | 8 #include "SkCanvas.h" |
9 #include "SkPerlinNoiseShader.h" | 9 #include "SkPerlinNoiseShader.h" |
10 | 10 |
11 class PerlinNoiseBench : public Benchmark { | 11 class PerlinNoiseBench : public Benchmark { |
12 SkISize fSize; | 12 SkISize fSize; |
13 | 13 |
14 public: | 14 public: |
15 PerlinNoiseBench() { | 15 PerlinNoiseBench() { |
16 fSize = SkISize::Make(80, 80); | 16 fSize = SkISize::Make(80, 80); |
17 } | 17 } |
18 | 18 |
19 protected: | 19 protected: |
20 virtual const char* onGetName() SK_OVERRIDE { | 20 const char* onGetName() SK_OVERRIDE { |
21 return "perlinnoise"; | 21 return "perlinnoise"; |
22 } | 22 } |
23 | 23 |
24 virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { | 24 void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { |
25 this->test(loops, canvas, 0, 0, SkPerlinNoiseShader::kFractalNoise_Type, | 25 this->test(loops, canvas, 0, 0, SkPerlinNoiseShader::kFractalNoise_Type, |
26 0.1f, 0.1f, 3, 0, false); | 26 0.1f, 0.1f, 3, 0, false); |
27 } | 27 } |
28 | 28 |
29 private: | 29 private: |
30 void drawClippedRect(SkCanvas* canvas, int x, int y, const SkPaint& paint) { | 30 void drawClippedRect(SkCanvas* canvas, int x, int y, const SkPaint& paint) { |
31 canvas->save(); | 31 canvas->save(); |
32 canvas->clipRect(SkRect::MakeXYWH(SkIntToScalar(x), SkIntToScalar(y), | 32 canvas->clipRect(SkRect::MakeXYWH(SkIntToScalar(x), SkIntToScalar(y), |
33 SkIntToScalar(fSize.width()), SkIntToScalar(fSize.heigh
t()))); | 33 SkIntToScalar(fSize.width()), SkIntToScalar(fSize.heigh
t()))); |
34 SkRect r = SkRect::MakeXYWH(SkIntToScalar(x), SkIntToScalar(y), | 34 SkRect r = SkRect::MakeXYWH(SkIntToScalar(x), SkIntToScalar(y), |
(...skipping 18 matching lines...) Expand all Loading... |
53 this->drawClippedRect(canvas, x, y, paint); | 53 this->drawClippedRect(canvas, x, y, paint); |
54 } | 54 } |
55 } | 55 } |
56 | 56 |
57 typedef Benchmark INHERITED; | 57 typedef Benchmark INHERITED; |
58 }; | 58 }; |
59 | 59 |
60 /////////////////////////////////////////////////////////////////////////////// | 60 /////////////////////////////////////////////////////////////////////////////// |
61 | 61 |
62 DEF_BENCH( return new PerlinNoiseBench(); ) | 62 DEF_BENCH( return new PerlinNoiseBench(); ) |
OLD | NEW |