blob: ec5253a4ce73d20b80dd21b01e8c1e41b4b8fa53 [file] [log] [blame]
jvanverthc7027ab2016-06-16 09:52:35 -07001/*
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"
Ben Wagnerb2c4ea62018-08-08 11:36:17 -040012#include "Sample.h"
jvanverthc7027ab2016-06-16 09:52:35 -070013
14class SampleSlide : public Slide {
15public:
Ben Wagnerb2c4ea62018-08-08 11:36:17 -040016 SampleSlide(const SampleFactory factory);
jvanverthc7027ab2016-06-16 09:52:35 -070017 ~SampleSlide() override;
18
19 void draw(SkCanvas* canvas) override;
20 void load(SkScalar winWidth, SkScalar winHeight) override;
Ben Wagnera1915972018-08-09 15:06:19 -040021 void resize(SkScalar winWidth, SkScalar winHeight) override {
22 fSample->setSize(winWidth, winHeight);
23 }
jvanverthc7027ab2016-06-16 09:52:35 -070024 void unload() override;
25 bool animate(const SkAnimTimer& timer) override {
Ben Wagnerb2c4ea62018-08-08 11:36:17 -040026 return fSample->animate(timer);
jvanverthc7027ab2016-06-16 09:52:35 -070027 }
28
Jim Van Verth6f449692017-02-14 15:16:46 -050029 bool onChar(SkUnichar c) override;
Jim Van Verthc9e7f9c2017-11-02 09:46:49 -040030 bool onMouse(SkScalar x, SkScalar y, sk_app::Window::InputState state,
31 uint32_t modifiers) override;
Jim Van Verth6f449692017-02-14 15:16:46 -050032
jvanverthc7027ab2016-06-16 09:52:35 -070033private:
Ben Wagnerb2c4ea62018-08-08 11:36:17 -040034 const SampleFactory fSampleFactory;
35 sk_sp<Sample> fSample;
36 Sample::Click* fClick;
jvanverthc7027ab2016-06-16 09:52:35 -070037};
38
39#endif