1 /* 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 */ 19 class VisualSKPBench : public Benchmark { 20 public: 21 VisualSKPBench(const char* name, const SkPicture*); 22 23 protected: 24 const char* onGetName() override; 25 const char* onGetUniqueName() override; 26 bool isSuitableFor(Backend backend) override; 27 SkIPoint onGetSize() override; 28 void onDraw(int loops, SkCanvas* canvas) override; 29 30 private: 31 SkAutoTUnref<const SkPicture> fPic; 32 SkIRect fCullRect; 33 SkString fName; 34 SkString fUniqueName; 35 36 typedef Benchmark INHERITED; 37 }; 38 39 #endif 40