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 VisualInteractiveModule_DEFINED 9#define VisualInteractiveModule_DEFINED 10 11#include "VisualStreamTimingModule.h" 12 13class SkCanvas; 14 15/* 16 * This module for VisualBench is designed to display stats data dynamically 17 */ 18class VisualInteractiveModule : public VisualStreamTimingModule { 19public: 20 // TODO get rid of backpointer 21 VisualInteractiveModule(VisualBench* owner); 22 23 bool onHandleChar(SkUnichar c) override; 24 25private: 26 void drawStats(SkCanvas*); 27 void renderFrame(SkCanvas*, Benchmark*, int loops) override; 28 bool timingFinished(Benchmark*, int loops, double measurement) override; 29 30 static const int kMeasurementCount = 64; // should be power of 2 for fast mod 31 double fMeasurements[kMeasurementCount]; 32 int fCurrentMeasurement; 33 bool fAdvance; 34 35 typedef VisualStreamTimingModule INHERITED; 36}; 37 38#endif 39