comparison Framework/Scene2DViewport/MeasureTool.cpp @ 1331:ab81ee8fce1f broker

- Viewport is not passed and stored as a shared_ptr instead of raw reference. - ViewportController can now be injected with an undo stack (not a ctor param anymore, as a preparation for the move of the undo stack to an interactor) - Added (temp) flag to disable emscripten events registration in the WebAssemblyViewport (because legacy client code deals with them directly) - Added emscripten_clear_timeout in ~WebGLViewportsRegistry - Removed GenericToolbox::HoldingRef whose responsibility is better served with proper callback un-registration.
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 30 Mar 2020 14:23:46 +0200
parents 9b126de2cde2
children 30deba7bc8e2
comparison
equal deleted inserted replaced
1329:8d3e669f01a2 1331:ab81ee8fce1f
46 { 46 {
47 return enabled_; 47 return enabled_;
48 } 48 }
49 49
50 MeasureTool::MeasureTool( 50 MeasureTool::MeasureTool(
51 IViewport& viewport) 51 boost::shared_ptr<IViewport> viewport)
52 : viewport_(viewport) 52 : viewport_(viewport)
53 , enabled_(true) 53 , enabled_(true)
54 { 54 {
55 55
56 } 56 }
57 57
58 void MeasureTool::PostConstructor() 58 void MeasureTool::PostConstructor()
59 { 59 {
60 std::unique_ptr<IViewport::ILock> lock(viewport_.Lock()); 60 std::unique_ptr<IViewport::ILock> lock(viewport_->Lock());
61 ViewportController& controller = lock->GetController(); 61 ViewportController& controller = lock->GetController();
62 62
63 Register<ViewportController::SceneTransformChanged>( 63 Register<ViewportController::SceneTransformChanged>(
64 controller, 64 controller,
65 &MeasureTool::OnSceneTransformChanged); 65 &MeasureTool::OnSceneTransformChanged);