blob: fcb554213e05009ccaa97d30d7afb4da8747f983 [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
Mike Kleinc0bd9f92019-04-23 12:05:21 -050011#include "samplecode/Sample.h"
12#include "tools/viewer/Slide.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
Ben Wagner21151122018-09-04 18:35:20 -040019 SkISize getDimensions() const override;
20
jvanverthc7027ab2016-06-16 09:52:35 -070021 void draw(SkCanvas* canvas) override;
22 void load(SkScalar winWidth, SkScalar winHeight) override;
Ben Wagnera1915972018-08-09 15:06:19 -040023 void resize(SkScalar winWidth, SkScalar winHeight) override {
24 fSample->setSize(winWidth, winHeight);
25 }
jvanverthc7027ab2016-06-16 09:52:35 -070026 void unload() override;
Hal Canary41248072019-07-11 16:32:53 -040027 bool animate(double) override;
jvanverthc7027ab2016-06-16 09:52:35 -070028
Jim Van Verth6f449692017-02-14 15:16:46 -050029 bool onChar(SkUnichar c) override;
Hal Canaryb1f411a2019-08-29 10:39:22 -040030 bool onMouse(SkScalar x, SkScalar y, skui::InputState state,
31 skui::ModifierKey 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;
Hal Canaryfcf63592019-07-12 11:32:43 -040035 std::unique_ptr<Sample> fSample;
jvanverthc7027ab2016-06-16 09:52:35 -070036};
37
38#endif