16adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org/* 26adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org * Copyright 2014 Google Inc. 36adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org * 46adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org * Use of this source code is governed by a BSD-style license that can be 56adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org * found in the LICENSE file. 66adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org */ 76adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org 8f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina#include "Benchmark.h" 96adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org#include "SkCanvas.h" 10f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina#include "gm.h" 116adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org 126adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org/** 136adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org * Runs a GM as a benchmark by repeatedly drawing the GM. 146adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org */ 15f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinaclass GMBench : public Benchmark { 166adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.orgpublic: 176adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org // Constructor takes ownership of the GM param. 18f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina GMBench(skiagm::GM* gm); 19f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina virtual ~GMBench(); 206adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org 216adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.orgprotected: 226adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org virtual const char* onGetName() SK_OVERRIDE; 236adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org virtual bool isSuitableFor(Backend backend) SK_OVERRIDE; 246adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE; 256adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org virtual SkIPoint onGetSize() SK_OVERRIDE; 266adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org 276adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.orgprivate: 286adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org skiagm::GM* fGM; 296adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org SkString fName; 30f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina typedef Benchmark INHERITED; 316adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org}; 32