diff options
author | 2016-05-04 13:49:13 -0700 | |
---|---|---|
committer | 2016-05-04 13:49:13 -0700 | |
commit | 345242671587d7273819bfe423be96e4392033e3 (patch) | |
tree | 7139d9f494699850865bd1925b2fe39a076718a6 /tools/viewer/viewer/Viewer.h | |
parent | 9b92ebdf41ed1fbd9ff598afad1804315ad62d46 (diff) |
Rename VulkanViewer to Viewer, take 2.
Also puts Window and Application in sk_app namespace.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1945103003
Review-Url: https://codereview.chromium.org/1945103003
Diffstat (limited to 'tools/viewer/viewer/Viewer.h')
-rw-r--r-- | tools/viewer/viewer/Viewer.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tools/viewer/viewer/Viewer.h b/tools/viewer/viewer/Viewer.h new file mode 100644 index 0000000000..43d29baa96 --- /dev/null +++ b/tools/viewer/viewer/Viewer.h @@ -0,0 +1,60 @@ +/* +* 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 Viewer_DEFINED +#define Viewer_DEFINED + +#include "../Application.h" +#include "../Window.h" +#include "gm.h" +#include "SkAnimTimer.h" +#include "Slide.h" + +class SkCanvas; + +class Viewer : public sk_app::Application { +public: + Viewer(int argc, char** argv, void* platformData); + ~Viewer() override; + + bool onKey(sk_app::Window::Key key, sk_app::Window::InputState state, uint32_t modifiers); + bool onChar(SkUnichar, uint32_t modifiers); + void onPaint(SkCanvas* canvas); + void onIdle(double ms) override; + +private: + void initSlides(); + void setupCurrentSlide(int previousSlide); + + void drawStats(SkCanvas* canvas); + + void changeZoomLevel(float delta); + void updateMatrix(); + + sk_app::Window* fWindow; + + static const int kMeasurementCount = 64; // should be power of 2 for fast mod + double fMeasurements[kMeasurementCount]; + int fCurrentMeasurement; + + SkAnimTimer fAnimTimer; + SkTArray<sk_sp<Slide>> fSlides; + int fCurrentSlide; + + bool fDisplayStats; + + // transform data + SkMatrix fLocalMatrix; + SkScalar fZoomCenterX; + SkScalar fZoomCenterY; + SkScalar fZoomLevel; + SkScalar fZoomScale; + +}; + + +#endif |