/* * 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