1261c3ad7fde95748da92550735decc949dc73bf2joshualitt/* 2261c3ad7fde95748da92550735decc949dc73bf2joshualitt * Copyright 2015 Google Inc. 3261c3ad7fde95748da92550735decc949dc73bf2joshualitt * 4261c3ad7fde95748da92550735decc949dc73bf2joshualitt * Use of this source code is governed by a BSD-style license that can be 5261c3ad7fde95748da92550735decc949dc73bf2joshualitt * found in the LICENSE file. 6261c3ad7fde95748da92550735decc949dc73bf2joshualitt */ 7261c3ad7fde95748da92550735decc949dc73bf2joshualitt 8261c3ad7fde95748da92550735decc949dc73bf2joshualitt#ifndef SKPAnimationBench_DEFINED 9261c3ad7fde95748da92550735decc949dc73bf2joshualitt#define SKPAnimationBench_DEFINED 10261c3ad7fde95748da92550735decc949dc73bf2joshualitt 11261c3ad7fde95748da92550735decc949dc73bf2joshualitt#include "SKPBench.h" 12261c3ad7fde95748da92550735decc949dc73bf2joshualitt 13261c3ad7fde95748da92550735decc949dc73bf2joshualitt/** 14261c3ad7fde95748da92550735decc949dc73bf2joshualitt * Runs an SkPicture as a benchmark by repeatedly drawing it, first centering the picture and 15261c3ad7fde95748da92550735decc949dc73bf2joshualitt * for each step it concats the passed in matrix 16261c3ad7fde95748da92550735decc949dc73bf2joshualitt */ 17261c3ad7fde95748da92550735decc949dc73bf2joshualittclass SKPAnimationBench : public SKPBench { 18261c3ad7fde95748da92550735decc949dc73bf2joshualittpublic: 19261c3ad7fde95748da92550735decc949dc73bf2joshualitt SKPAnimationBench(const char* name, const SkPicture*, const SkIRect& devClip, 20261c3ad7fde95748da92550735decc949dc73bf2joshualitt SkMatrix viewMatrix, int steps); 21261c3ad7fde95748da92550735decc949dc73bf2joshualitt 22261c3ad7fde95748da92550735decc949dc73bf2joshualittprotected: 23261c3ad7fde95748da92550735decc949dc73bf2joshualitt const char* onGetName() override; 24261c3ad7fde95748da92550735decc949dc73bf2joshualitt const char* onGetUniqueName() override; 25261c3ad7fde95748da92550735decc949dc73bf2joshualitt void onPerCanvasPreDraw(SkCanvas* canvas) override; 26261c3ad7fde95748da92550735decc949dc73bf2joshualitt 27261c3ad7fde95748da92550735decc949dc73bf2joshualitt void drawMPDPicture() override { 28261c3ad7fde95748da92550735decc949dc73bf2joshualitt SkFAIL("MPD not supported\n"); 29261c3ad7fde95748da92550735decc949dc73bf2joshualitt } 30261c3ad7fde95748da92550735decc949dc73bf2joshualitt void drawPicture() override; 31261c3ad7fde95748da92550735decc949dc73bf2joshualitt 32261c3ad7fde95748da92550735decc949dc73bf2joshualittprivate: 33261c3ad7fde95748da92550735decc949dc73bf2joshualitt int fSteps; 34261c3ad7fde95748da92550735decc949dc73bf2joshualitt SkMatrix fAnimationMatrix; 35261c3ad7fde95748da92550735decc949dc73bf2joshualitt SkString fName; 36261c3ad7fde95748da92550735decc949dc73bf2joshualitt SkString fUniqueName; 37261c3ad7fde95748da92550735decc949dc73bf2joshualitt SkPoint fCenter; 38261c3ad7fde95748da92550735decc949dc73bf2joshualitt 39261c3ad7fde95748da92550735decc949dc73bf2joshualitt typedef SKPBench INHERITED; 40261c3ad7fde95748da92550735decc949dc73bf2joshualitt}; 41261c3ad7fde95748da92550735decc949dc73bf2joshualitt 42261c3ad7fde95748da92550735decc949dc73bf2joshualitt#endif 43