skia2/tools/viewer/SampleSlide.h
Ben Wagner 211511237f Make Slide::getDimensions pure virtual.
The default behavior is to not let the user move the slide to the top or
left. Implement for SampleSlide and stub out for NIMASlide (which isn't
so easy to implement).

Change-Id: I16074e704f4086199932d83e28c28d1ee39fbd9d
Reviewed-on: https://skia-review.googlesource.com/151600
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-05 15:05:14 +00:00

42 lines
1.0 KiB
C++

/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SampleSlide_DEFINED
#define SampleSlide_DEFINED
#include "Slide.h"
#include "Sample.h"
class SampleSlide : public Slide {
public:
SampleSlide(const SampleFactory factory);
~SampleSlide() override;
SkISize getDimensions() const override;
void draw(SkCanvas* canvas) override;
void load(SkScalar winWidth, SkScalar winHeight) override;
void resize(SkScalar winWidth, SkScalar winHeight) override {
fSample->setSize(winWidth, winHeight);
}
void unload() override;
bool animate(const SkAnimTimer& timer) override {
return fSample->animate(timer);
}
bool onChar(SkUnichar c) override;
bool onMouse(SkScalar x, SkScalar y, sk_app::Window::InputState state,
uint32_t modifiers) override;
private:
const SampleFactory fSampleFactory;
sk_sp<Sample> fSample;
Sample::Click* fClick;
};
#endif