Mercurial > hg > orthanc-stone
diff OrthancStone/Sources/Viewport/DefaultViewportInteractor.h @ 1561:cf652990abb1
tunable mouse actions
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 20 Aug 2020 17:44:35 +0200 |
parents | a6f339d8e4c2 |
children | e731e62692a9 |
line wrap: on
line diff
--- a/OrthancStone/Sources/Viewport/DefaultViewportInteractor.h Thu Aug 20 13:57:52 2020 +0200 +++ b/OrthancStone/Sources/Viewport/DefaultViewportInteractor.h Thu Aug 20 17:44:35 2020 +0200 @@ -27,13 +27,24 @@ class DefaultViewportInteractor : public IViewportInteractor { private: - // Index of the layer whose windowing is altered by clicking the - // left mouse button - int windowingLayer_; + // Index of the layer whose windowing is altered by grayscale windowing action + int windowingLayer_; + MouseAction leftButtonAction_; + MouseAction middleButtonAction_; + MouseAction rightButtonAction_; + + IFlexiblePointerTracker* CreateTrackerInternal(boost::shared_ptr<IViewport> viewport, + MouseAction action, + const PointerEvent& event, + unsigned int viewportWidth, + unsigned int viewportHeight); public: DefaultViewportInteractor() : - windowingLayer_(0) + windowingLayer_(0), + leftButtonAction_(MouseAction_GrayscaleWindowing), + middleButtonAction_(MouseAction_Pan), + rightButtonAction_(MouseAction_Zoom) { } @@ -46,6 +57,36 @@ { windowingLayer_ = layerIndex; } + + MouseAction GetLeftButtonAction() const + { + return leftButtonAction_; + } + + void SetLeftButtonAction(MouseAction action) + { + leftButtonAction_ = action; + } + + MouseAction GetMiddleButtonAction() const + { + return middleButtonAction_; + } + + void SetMiddleButtonAction(MouseAction action) + { + middleButtonAction_ = action; + } + + MouseAction GetRightButtonAction() const + { + return rightButtonAction_; + } + + void SetRightButtonAction(MouseAction action) + { + rightButtonAction_ = action; + } virtual IFlexiblePointerTracker* CreateTracker(boost::shared_ptr<IViewport> viewport, const PointerEvent& event,