commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2014 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 | |
tfarina | f168b86 | 2014-06-19 12:32:29 -0700 | [diff] [blame] | 8 | #include "GMBench.h" |
commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 9 | |
tfarina | f168b86 | 2014-06-19 12:32:29 -0700 | [diff] [blame] | 10 | GMBench::GMBench(skiagm::GM* gm) : fGM(gm) { |
mtklein | e714e75 | 2014-07-31 12:13:48 -0700 | [diff] [blame] | 11 | fName.printf("GM_%s", gm->getName()); |
commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 12 | } |
| 13 | |
tfarina | f168b86 | 2014-06-19 12:32:29 -0700 | [diff] [blame] | 14 | GMBench::~GMBench() { delete fGM; } |
commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 15 | |
tfarina | f168b86 | 2014-06-19 12:32:29 -0700 | [diff] [blame] | 16 | const char* GMBench::onGetName() { |
commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 17 | return fName.c_str(); |
| 18 | } |
| 19 | |
tfarina | f168b86 | 2014-06-19 12:32:29 -0700 | [diff] [blame] | 20 | bool GMBench::isSuitableFor(Backend backend) { |
mtklein | 1c40292 | 2015-01-23 11:07:07 -0800 | [diff] [blame] | 21 | return kNonRendering_Backend != backend; |
commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 22 | } |
| 23 | |
tfarina | f168b86 | 2014-06-19 12:32:29 -0700 | [diff] [blame] | 24 | void GMBench::onDraw(const int loops, SkCanvas* canvas) { |
commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 25 | // Do we care about timing the draw of the background (once)? |
| 26 | // Does the GM ever rely on drawBackground to lazily compute something? |
| 27 | fGM->drawBackground(canvas); |
| 28 | for (int i = 0; i < loops; ++i) { |
| 29 | fGM->drawContent(canvas); |
| 30 | } |
| 31 | } |
| 32 | |
tfarina | f168b86 | 2014-06-19 12:32:29 -0700 | [diff] [blame] | 33 | SkIPoint GMBench::onGetSize() { |
commit-bot@chromium.org | 6adce67 | 2014-02-03 14:48:17 +0000 | [diff] [blame] | 34 | SkISize size = fGM->getISize(); |
| 35 | return SkIPoint::Make(size.fWidth, size.fHeight); |
| 36 | } |
mtklein | 9200758 | 2014-08-01 07:46:52 -0700 | [diff] [blame] | 37 | |