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 
9 #ifndef VisualModule_DEFINED
10 #define VisualModule_DEFINED
11 
12 #include "SkRefCnt.h"
13 
14 class SkCanvas;
15 
16 /*
17  * VisualModule is the base class for all of the various types of activities VisualBench supports.
18  *
19  * The common theme tying these all together is they need to display an image to the screen.  Later,
20  * on we some modules will also be interactive
21  */
22 class VisualModule : public SkRefCnt {
23 public:
~VisualModule()24     virtual ~VisualModule() {}
25 
26     virtual void draw(SkCanvas* canvas)=0;
27 
28     virtual bool onHandleChar(SkUnichar unichar) = 0;
29 
30 private:
31     typedef SkRefCnt INHERITED;
32 };
33 
34 #endif
35