From 261c3ad7fde95748da92550735decc949dc73bf2 Mon Sep 17 00:00:00 2001 From: joshualitt Date: Mon, 27 Apr 2015 09:16:57 -0700 Subject: Change to add zoom animations to nanobench BUG=skia: Review URL: https://codereview.chromium.org/1061323003 --- bench/SKPAnimationBench.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 bench/SKPAnimationBench.h (limited to 'bench/SKPAnimationBench.h') diff --git a/bench/SKPAnimationBench.h b/bench/SKPAnimationBench.h new file mode 100644 index 0000000000..f6e9fa4ede --- /dev/null +++ b/bench/SKPAnimationBench.h @@ -0,0 +1,42 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SKPAnimationBench_DEFINED +#define SKPAnimationBench_DEFINED + +#include "SKPBench.h" + +/** + * Runs an SkPicture as a benchmark by repeatedly drawing it, first centering the picture and + * for each step it concats the passed in matrix + */ +class SKPAnimationBench : public SKPBench { +public: + SKPAnimationBench(const char* name, const SkPicture*, const SkIRect& devClip, + SkMatrix viewMatrix, int steps); + +protected: + const char* onGetName() override; + const char* onGetUniqueName() override; + void onPerCanvasPreDraw(SkCanvas* canvas) override; + + void drawMPDPicture() override { + SkFAIL("MPD not supported\n"); + } + void drawPicture() override; + +private: + int fSteps; + SkMatrix fAnimationMatrix; + SkString fName; + SkString fUniqueName; + SkPoint fCenter; + + typedef SKPBench INHERITED; +}; + +#endif -- cgit v1.2.3