Mercurial > hg > orthanc-stone
diff Framework/Scene2DViewport/ViewportController.h @ 1307:8a28a9bf8876 broker
ViewportController now gets a ref to its parent viewport for proper lock usage
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 04 Mar 2020 10:07:37 +0100 |
parents | 7ec8fea061b9 |
children | adf234ecaa00 |
line wrap: on
line diff
--- a/Framework/Scene2DViewport/ViewportController.h Wed Mar 04 10:07:14 2020 +0100 +++ b/Framework/Scene2DViewport/ViewportController.h Wed Mar 04 10:07:37 2020 +0100 @@ -39,7 +39,7 @@ { } - virtual IFlexiblePointerTracker* CreateTracker(boost::shared_ptr<ViewportController> controller, + virtual IFlexiblePointerTracker* CreateTracker(IViewport& viewport, const PointerEvent& event, unsigned int viewportWidth, unsigned int viewportHeight) = 0; @@ -50,7 +50,7 @@ class DefaultViewportInteractor : public IViewportInteractor { public: - virtual IFlexiblePointerTracker* CreateTracker(boost::shared_ptr<ViewportController> controller, + virtual IFlexiblePointerTracker* CreateTracker(IViewport& viewport, const PointerEvent& event, unsigned int viewportWidth, unsigned int viewportHeight) ORTHANC_OVERRIDE; @@ -109,11 +109,11 @@ ORTHANC_STONE_DEFINE_ORIGIN_MESSAGE(__FILE__, __LINE__, \ SceneTransformChanged, ViewportController); - ViewportController(); + ViewportController(IViewport& viewport); - ViewportController(const Scene2D& scene /* will be cloned */); + ViewportController(IViewport& viewport, const Scene2D& scene /* will be cloned */); - ViewportController(boost::weak_ptr<UndoStack> undoStackW); + ViewportController(IViewport& viewport, boost::weak_ptr<UndoStack> undoStackW); ~ViewportController(); @@ -229,6 +229,7 @@ private: double GetCanvasToSceneFactor() const; + IViewport& viewport_; boost::weak_ptr<UndoStack> undoStackW_; // Global stack, possibly shared by all viewports std::vector<boost::shared_ptr<MeasureTool> > measureTools_; boost::shared_ptr<IFlexiblePointerTracker> activeTracker_; // TODO - Couldn't this be a "std::auto_ptr"?