Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tools / viewer / Slide.h
1 /*
2 * Copyright 2016 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 Slide_DEFINED
9 #define Slide_DEFINED
10
11 #include "include/core/SkRefCnt.h"
12 #include "include/core/SkSize.h"
13 #include "include/core/SkString.h"
14 #include "tools/sk_app/Window.h"
15
16 class SkCanvas;
17 class SkMetaData;
18
19 class Slide : public SkRefCnt {
20 public:
21     virtual SkISize getDimensions() const = 0;
22
23     virtual void gpuTeardown() { }
24     virtual void draw(SkCanvas* canvas) = 0;
25     virtual bool animate(double nanos) { return false; }
26     virtual void load(SkScalar winWidth, SkScalar winHeight) {}
27     virtual void resize(SkScalar winWidth, SkScalar winHeight) {}
28     virtual void unload() {}
29
30     virtual bool onChar(SkUnichar c) { return false; }
31     virtual bool onMouse(SkScalar x, SkScalar y, skui::InputState state,
32                          skui::ModifierKey modifiers) { return false; }
33
34     virtual bool onGetControls(SkMetaData*) { return false; }
35     virtual void onSetControls(const SkMetaData&) {}
36
37     const SkString& getName() { return fName; }
38
39 protected:
40     SkString    fName;
41 };
42
43
44 #endif