| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 #include "SkBenchmark.h" | 8 #include "Benchmark.h" |
| 9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| 11 #include "SkColorPriv.h" | 11 #include "SkColorPriv.h" |
| 12 #include "SkGradientShader.h" | 12 #include "SkGradientShader.h" |
| 13 #include "SkPaint.h" | 13 #include "SkPaint.h" |
| 14 #include "SkShader.h" | 14 #include "SkShader.h" |
| 15 #include "SkString.h" | 15 #include "SkString.h" |
| 16 | 16 |
| 17 struct GradData { | 17 struct GradData { |
| 18 int fCount; | 18 int fCount; |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 case kOval_GeomType: | 190 case kOval_GeomType: |
| 191 return "oval"; | 191 return "oval"; |
| 192 default: | 192 default: |
| 193 SkDEBUGFAIL("unknown geometry type"); | 193 SkDEBUGFAIL("unknown geometry type"); |
| 194 return "error"; | 194 return "error"; |
| 195 } | 195 } |
| 196 } | 196 } |
| 197 | 197 |
| 198 /////////////////////////////////////////////////////////////////////////////// | 198 /////////////////////////////////////////////////////////////////////////////// |
| 199 | 199 |
| 200 class GradientBench : public SkBenchmark { | 200 class GradientBench : public Benchmark { |
| 201 SkString fName; | 201 SkString fName; |
| 202 SkShader* fShader; | 202 SkShader* fShader; |
| 203 enum { | 203 enum { |
| 204 W = 400, | 204 W = 400, |
| 205 H = 400, | 205 H = 400, |
| 206 kRepeat = 15, | 206 kRepeat = 15, |
| 207 }; | 207 }; |
| 208 public: | 208 public: |
| 209 GradientBench(GradType gradType, | 209 GradientBench(GradType gradType, |
| 210 GradData data = gGradData[0], | 210 GradData data = gGradData[0], |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 canvas->drawRect(r, paint); | 255 canvas->drawRect(r, paint); |
| 256 break; | 256 break; |
| 257 case kOval_GeomType: | 257 case kOval_GeomType: |
| 258 canvas->drawOval(r, paint); | 258 canvas->drawOval(r, paint); |
| 259 break; | 259 break; |
| 260 } | 260 } |
| 261 } | 261 } |
| 262 } | 262 } |
| 263 | 263 |
| 264 private: | 264 private: |
| 265 typedef SkBenchmark INHERITED; | 265 typedef Benchmark INHERITED; |
| 266 | 266 |
| 267 GeomType fGeomType; | 267 GeomType fGeomType; |
| 268 }; | 268 }; |
| 269 | 269 |
| 270 DEF_BENCH( return new GradientBench(kLinear_GradType); ) | 270 DEF_BENCH( return new GradientBench(kLinear_GradType); ) |
| 271 DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[1]); ) | 271 DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[1]); ) |
| 272 DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[2]); ) | 272 DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[2]); ) |
| 273 DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[0], SkShader::kM
irror_TileMode); ) | 273 DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[0], SkShader::kM
irror_TileMode); ) |
| 274 | 274 |
| 275 DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[0]); ) | 275 DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[0]); ) |
| (...skipping 23 matching lines...) Expand all Loading... |
| 299 DEF_BENCH( return new GradientBench(kConicalZero_GradType, gGradData[2]); ) | 299 DEF_BENCH( return new GradientBench(kConicalZero_GradType, gGradData[2]); ) |
| 300 DEF_BENCH( return new GradientBench(kConicalOut_GradType); ) | 300 DEF_BENCH( return new GradientBench(kConicalOut_GradType); ) |
| 301 DEF_BENCH( return new GradientBench(kConicalOut_GradType, gGradData[1]); ) | 301 DEF_BENCH( return new GradientBench(kConicalOut_GradType, gGradData[1]); ) |
| 302 DEF_BENCH( return new GradientBench(kConicalOut_GradType, gGradData[2]); ) | 302 DEF_BENCH( return new GradientBench(kConicalOut_GradType, gGradData[2]); ) |
| 303 DEF_BENCH( return new GradientBench(kConicalOutZero_GradType); ) | 303 DEF_BENCH( return new GradientBench(kConicalOutZero_GradType); ) |
| 304 DEF_BENCH( return new GradientBench(kConicalOutZero_GradType, gGradData[1]); ) | 304 DEF_BENCH( return new GradientBench(kConicalOutZero_GradType, gGradData[1]); ) |
| 305 DEF_BENCH( return new GradientBench(kConicalOutZero_GradType, gGradData[2]); ) | 305 DEF_BENCH( return new GradientBench(kConicalOutZero_GradType, gGradData[2]); ) |
| 306 | 306 |
| 307 /////////////////////////////////////////////////////////////////////////////// | 307 /////////////////////////////////////////////////////////////////////////////// |
| 308 | 308 |
| 309 class Gradient2Bench : public SkBenchmark { | 309 class Gradient2Bench : public Benchmark { |
| 310 SkString fName; | 310 SkString fName; |
| 311 bool fHasAlpha; | 311 bool fHasAlpha; |
| 312 | 312 |
| 313 public: | 313 public: |
| 314 Gradient2Bench(bool hasAlpha) { | 314 Gradient2Bench(bool hasAlpha) { |
| 315 fName.printf("gradient_create_%s", hasAlpha ? "alpha" : "opaque"); | 315 fName.printf("gradient_create_%s", hasAlpha ? "alpha" : "opaque"); |
| 316 fHasAlpha = hasAlpha; | 316 fHasAlpha = hasAlpha; |
| 317 } | 317 } |
| 318 | 318 |
| 319 protected: | 319 protected: |
| (...skipping 20 matching lines...) Expand all Loading... |
| 340 SK_ColorWHITE }; | 340 SK_ColorWHITE }; |
| 341 SkShader* s = SkGradientShader::CreateLinear(pts, colors, NULL, | 341 SkShader* s = SkGradientShader::CreateLinear(pts, colors, NULL, |
| 342 SK_ARRAY_COUNT(colors), | 342 SK_ARRAY_COUNT(colors), |
| 343 SkShader::kClamp_TileMo
de); | 343 SkShader::kClamp_TileMo
de); |
| 344 paint.setShader(s)->unref(); | 344 paint.setShader(s)->unref(); |
| 345 canvas->drawRect(r, paint); | 345 canvas->drawRect(r, paint); |
| 346 } | 346 } |
| 347 } | 347 } |
| 348 | 348 |
| 349 private: | 349 private: |
| 350 typedef SkBenchmark INHERITED; | 350 typedef Benchmark INHERITED; |
| 351 }; | 351 }; |
| 352 | 352 |
| 353 DEF_BENCH( return new Gradient2Bench(false); ) | 353 DEF_BENCH( return new Gradient2Bench(false); ) |
| 354 DEF_BENCH( return new Gradient2Bench(true); ) | 354 DEF_BENCH( return new Gradient2Bench(true); ) |
| OLD | NEW |