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()17Benchmark::Benchmark() { 18 fForceAlpha = 0xFF; 19 fForceAA = true; 20 fForceFilter = false; 21 fDither = SkTriState::kDefault; 22 fOrMask = fClearMask = 0; 23 } 24 getName()25const char* Benchmark::getName() { 26 return this->onGetName(); 27 } 28 getSize()29SkIPoint Benchmark::getSize() { 30 return this->onGetSize(); 31 } 32 preDraw()33void Benchmark::preDraw() { 34 this->onPreDraw(); 35 } 36 draw(const int loops,SkCanvas * canvas)37void Benchmark::draw(const int loops, SkCanvas* canvas) { 38 this->onDraw(loops, canvas); 39 } 40 setupPaint(SkPaint * paint)41void 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()54SkIPoint Benchmark::onGetSize() { 55 return SkIPoint::Make(640, 480); 56 } 57