1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Copyright 2014 Google Inc. 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Use of this source code is governed by a BSD-style license that can be 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * found in the LICENSE file. 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifndef RecordingBench_DEFINED 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#define RecordingBench_DEFINED 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "Benchmark.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkPicture.h" 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkLiteDL.h" 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass PictureCentricBench : public Benchmark { 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot PictureCentricBench(const char* name, const SkPicture*); 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprotected: 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot const char* onGetName() override; 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot bool isSuitableFor(Backend) override; 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkIPoint onGetSize() override; 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprotected: 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot sk_sp<const SkPicture> fSrc; 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkString fName; 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot typedef Benchmark INHERITED; 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass RecordingBench : public PictureCentricBench { 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot RecordingBench(const char* name, const SkPicture*, bool useBBH, bool lite); 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprotected: 36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot void onDraw(int loops, SkCanvas*) override; 37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprivate: 39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot std::unique_ptr<SkLiteDL> fDL; 40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot bool fUseBBH; 41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot typedef PictureCentricBench INHERITED; 43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass PipingBench : public PictureCentricBench { 46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot PipingBench(const char* name, const SkPicture*); 48fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 49fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprotected: 50fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot void onDraw(int loops, SkCanvas*) override; 51fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 52fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprivate: 53fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot typedef PictureCentricBench INHERITED; 54fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 55fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 56fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass DeserializePictureBench : public Benchmark { 57fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 58fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot DeserializePictureBench(const char* name, sk_sp<SkData> encodedPicture); 59fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 60fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprotected: 61fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot const char* onGetName() override; 62fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot bool isSuitableFor(Backend) override; 63fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkIPoint onGetSize() override; 64fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot void onDraw(int loops, SkCanvas*) override; 65fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 66fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprivate: 67fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkString fName; 68fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot sk_sp<SkData> fEncodedPicture; 69fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 70fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot typedef Benchmark INHERITED; 71fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 72fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 73fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif//RecordingBench_DEFINED 74