/* * Copyright 2015 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "Benchmark.h" #include "SkImageDecoder.h" #include "SkImageInfo.h" #include "SkStream.h" #include "SkString.h" /* * * This benchmark is designed to test the performance of subset decoding. * Choose subsets to mimic a user zooming in or out on a photo. * */ class SubsetZoomBench : public Benchmark { public: SubsetZoomBench(const SkString& path, SkColorType colorType, uint32_t subsetWidth, uint32_t subsetHeight, bool useCodec); protected: const char* onGetName() override; bool isSuitableFor(Backend backend) override; void onDraw(const int n, SkCanvas* canvas) override; private: SkString fName; SkColorType fColorType; const uint32_t fSubsetWidth; const uint32_t fSubsetHeight; const bool fUseCodec; SkAutoTDelete fStream; typedef Benchmark INHERITED; };