blob: dc22fec79e153b35c40950307ea1bd42f158158b [file] [log] [blame]
joshualitt962cc982015-06-30 07:43:14 -07001/*
2 * Copyright 2015 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
9#ifndef VisualSKPBench_DEFINED
10#define VisualSKPBench_DEFINED
11
12#include "Benchmark.h"
13#include "SkCanvas.h"
14#include "SkPicture.h"
15
16/**
17 * Runs an SkPicture as a benchmark by repeatedly drawing it
18 */
19class VisualSKPBench : public Benchmark {
20public:
21 VisualSKPBench(const char* name, const SkPicture*);
22
23protected:
24 const char* onGetName() override;
25 const char* onGetUniqueName() override;
26 bool isSuitableFor(Backend backend) override;
cdalton0f6cca82015-11-24 08:54:29 -080027 SkIPoint onGetSize() override;
mtkleina1ebeb22015-10-01 09:43:39 -070028 void onDraw(int loops, SkCanvas* canvas) override;
joshualitt962cc982015-06-30 07:43:14 -070029
30private:
31 SkAutoTUnref<const SkPicture> fPic;
cdalton0f6cca82015-11-24 08:54:29 -080032 SkIRect fCullRect;
joshualitt962cc982015-06-30 07:43:14 -070033 SkString fName;
34 SkString fUniqueName;
35
36 typedef Benchmark INHERITED;
37};
38
39#endif