Home | History | Annotate | Download | only in VisualBench
      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 VisualDebugModule_DEFINED
      9 #define VisualDebugModule_DEFINED
     10 
     11 #include "VisualModule.h"
     12 
     13 #include "SkDebugCanvas.h"
     14 #include "VisualBench.h"
     15 #include "VisualBenchmarkStream.h"
     16 
     17 class VisualDebugModule : public VisualModule {
     18 public:
     19     VisualDebugModule(VisualBench* owner);
     20     void draw(SkCanvas* canvas) override;
     21     bool onHandleChar(SkUnichar unichar) override;
     22 
     23 private:
     24     enum State {
     25         kInit_State,
     26         kPlay_State,
     27         kNext_State,
     28     };
     29 
     30     bool advanceIfNecessary(SkCanvas*);
     31 
     32     State fState;
     33     SkAutoTUnref<SkDebugCanvas> fDebugCanvas;
     34     int fIndex;
     35 
     36     // support framework
     37     VisualBench* fOwner;
     38     SkAutoTDelete<VisualBenchmarkStream> fBenchmarkStream;
     39 
     40     typedef VisualModule INHERITED;
     41 };
     42 
     43 #endif
     44