• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2011 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include "Benchmark.h"
9 
10 #include "SkPaint.h"
11 #include "SkParse.h"
12 
13 const char* SkTriState::Name[] = { "default", "true", "false" };
14 
15 template BenchRegistry* BenchRegistry::gHead;
16 
Benchmark()17 Benchmark::Benchmark() {
18     fForceAlpha = 0xFF;
19     fForceAA = true;
20     fForceFilter = false;
21     fDither = SkTriState::kDefault;
22     fOrMask = fClearMask = 0;
23 }
24 
getName()25 const char* Benchmark::getName() {
26     return this->onGetName();
27 }
28 
getSize()29 SkIPoint Benchmark::getSize() {
30     return this->onGetSize();
31 }
32 
preDraw()33 void Benchmark::preDraw() {
34     this->onPreDraw();
35 }
36 
draw(const int loops,SkCanvas * canvas)37 void Benchmark::draw(const int loops, SkCanvas* canvas) {
38     this->onDraw(loops, canvas);
39 }
40 
setupPaint(SkPaint * paint)41 void Benchmark::setupPaint(SkPaint* paint) {
42     paint->setAlpha(fForceAlpha);
43     paint->setAntiAlias(fForceAA);
44     paint->setFilterLevel(fForceFilter ? SkPaint::kLow_FilterLevel
45                                        : SkPaint::kNone_FilterLevel);
46 
47     paint->setFlags((paint->getFlags() & ~fClearMask) | fOrMask);
48 
49     if (SkTriState::kDefault != fDither) {
50         paint->setDither(SkTriState::kTrue == fDither);
51     }
52 }
53 
onGetSize()54 SkIPoint Benchmark::onGetSize() {
55     return SkIPoint::Make(640, 480);
56 }
57