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 SampleSlide_DEFINED
9#define SampleSlide_DEFINED
10
11#include "Slide.h"
12#include "SampleCode.h"
13
14class SampleSlide : public Slide {
15public:
16    SampleSlide(const SkViewFactory* factory);
17    ~SampleSlide() override;
18
19    void draw(SkCanvas* canvas) override;
20    void load(SkScalar winWidth, SkScalar winHeight) override;
21    void unload() override;
22    bool animate(const SkAnimTimer& timer) override {
23        if (fView && SampleView::IsSampleView(fView.get())) {
24            return ((SampleView*)fView.get())->animate(timer);
25        }
26        return false;
27    }
28
29    bool onChar(SkUnichar c) override;
30    bool onMouse(SkScalar x, SkScalar y, sk_app::Window::InputState state,
31                 uint32_t modifiers) override;
32
33private:
34    const SkViewFactory*   fViewFactory;
35    sk_sp<SkView>          fView;
36    SkView::Click*         fClick;
37};
38
39#endif
40