|  | /* | 
|  | * 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 VisualInteractiveModule_DEFINED | 
|  | #define VisualInteractiveModule_DEFINED | 
|  |  | 
|  | #include "VisualStreamTimingModule.h" | 
|  |  | 
|  | class SkCanvas; | 
|  |  | 
|  | /* | 
|  | * This module for VisualBench is designed to display stats data dynamically | 
|  | */ | 
|  | class VisualInteractiveModule : public VisualStreamTimingModule { | 
|  | public: | 
|  | // TODO get rid of backpointer | 
|  | VisualInteractiveModule(VisualBench* owner); | 
|  |  | 
|  | bool onHandleChar(SkUnichar c) override; | 
|  |  | 
|  | private: | 
|  | void drawStats(SkCanvas*); | 
|  | void renderFrame(SkCanvas*, Benchmark*, int loops) override; | 
|  | bool timingFinished(Benchmark*, int loops, double measurement) override; | 
|  |  | 
|  | static const int kMeasurementCount = 64;  // should be power of 2 for fast mod | 
|  | double fMeasurements[kMeasurementCount]; | 
|  | int fCurrentMeasurement; | 
|  | bool fAdvance; | 
|  |  | 
|  | typedef VisualStreamTimingModule INHERITED; | 
|  | }; | 
|  |  | 
|  | #endif |