Mercurial > hg > orthanc-stone
diff Samples/Qt/Scene2DInteractor.cpp @ 881:a8cd3755db21 am-dev
wip
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Tue, 09 Jul 2019 11:41:16 +0200 |
parents | 12b591d5d63c |
children | 30268a0cafca |
line wrap: on
line diff
--- a/Samples/Qt/Scene2DInteractor.cpp Fri Jul 05 15:33:02 2019 +0200 +++ b/Samples/Qt/Scene2DInteractor.cpp Tue Jul 09 11:41:16 2019 +0200 @@ -1,5 +1,8 @@ #include "Scene2DInteractor.h" +#include "../../Framework/Scene2D/PanSceneTracker.h" +#include "../../Framework/Scene2D/ZoomSceneTracker.h" + namespace OrthancStone { @@ -9,8 +12,26 @@ using namespace OrthancStone; -void BasicScene2DInteractor::OnMouseEvent(const GuiAdapterMouseEvent& event) +void BasicScene2DInteractor::OnMouseEvent(const GuiAdapterMouseEvent& event, const PointerEvent& pointerEvent) { + if (currentTracker_.get() != NULL) + { + currentTracker_->PointerMove(pointerEvent); + } + else + { + if (event.button == GUIADAPTER_MOUSEBUTTON_LEFT) + { + } + else if (event.button == GUIADAPTER_MOUSEBUTTON_MIDDLE) + { + currentTracker_.reset(new PanSceneTracker(viewportController_, pointerEvent)); + } + else if (event.button == GUIADAPTER_MOUSEBUTTON_RIGHT) + { + // TODO: need a pointer to compositor currentTracker_.reset(new ZoomSceneTracker(viewportController_, pointerEvent, viewportController_->)); + } + } }