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#ifndef CodecBench_DEFINED 9#define CodecBench_DEFINED 10 11#include "Benchmark.h" 12#include "SkData.h" 13#include "SkImageInfo.h" 14#include "SkRefCnt.h" 15#include "SkString.h" 16 17/** 18 * Time SkCodec. 19 */ 20class CodecBench : public Benchmark { 21public: 22 // Calls encoded->ref() 23 CodecBench(SkString basename, SkData* encoded, SkColorType colorType); 24 25protected: 26 const char* onGetName() override; 27 bool isSuitableFor(Backend backend) override; 28 void onDraw(const int n, SkCanvas* canvas) override; 29 void onPreDraw() override; 30 31private: 32 SkString fName; 33 const SkColorType fColorType; 34 SkAutoTUnref<SkData> fData; 35 SkImageInfo fInfo; // Set in onPreDraw. 36 SkAutoMalloc fPixelStorage; 37 typedef Benchmark INHERITED; 38}; 39#endif // CodecBench_DEFINED 40