Mercurial > hg > orthanc-stone
comparison Applications/Platforms/WebAssembly/WebAssemblyViewport.h @ 1618:9a52bac0c2a7
Added code to clear pending calls to RequestAnimationFrame
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Mon, 02 Nov 2020 17:54:18 +0100 |
parents | 5887a4f8594b |
children | 575f512cdf48 |
comparison
equal
deleted
inserted
replaced
1617:49ba862d3454 | 1618:9a52bac0c2a7 |
---|---|
39 #include <emscripten.h> | 39 #include <emscripten.h> |
40 #include <emscripten/html5.h> | 40 #include <emscripten/html5.h> |
41 | 41 |
42 #include <memory> | 42 #include <memory> |
43 #include <string> | 43 #include <string> |
44 #include <vector> | |
44 #include <boost/enable_shared_from_this.hpp> | 45 #include <boost/enable_shared_from_this.hpp> |
45 | 46 |
46 namespace OrthancStone | 47 namespace OrthancStone |
47 { | 48 { |
48 class WebAssemblyViewport : public IViewport, | 49 class WebAssemblyViewport : public IViewport, |
58 std::unique_ptr<ViewportController> controller_; | 59 std::unique_ptr<ViewportController> controller_; |
59 std::unique_ptr<IViewportInteractor> interactor_; | 60 std::unique_ptr<IViewportInteractor> interactor_; |
60 bool enableEmscriptenMouseEvents_; | 61 bool enableEmscriptenMouseEvents_; |
61 unsigned int canvasWidth_; | 62 unsigned int canvasWidth_; |
62 unsigned int canvasHeight_; | 63 unsigned int canvasHeight_; |
64 std::vector<long> animationFrameCallbackIds_; | |
63 | 65 |
64 static EM_BOOL OnRequestAnimationFrame(double time, void *userData); | 66 static EM_BOOL OnRequestAnimationFrame(double time, void *userData); |
65 | 67 |
66 static EM_BOOL OnResize(int eventType, const EmscriptenUiEvent *uiEvent, void *userData); | 68 static EM_BOOL OnResize(int eventType, const EmscriptenUiEvent *uiEvent, void *userData); |
67 | 69 |