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