879
|
1 #pragma once
|
|
2
|
881
|
3 #include "../../Framework/Scene2D/PointerEvent.h"
|
879
|
4 #include "../../Framework/Scene2DViewport/ViewportController.h"
|
881
|
5 #include "../../Framework/Scene2DViewport/IFlexiblePointerTracker.h"
|
879
|
6 #include "../../Applications/Generic/GuiAdapter.h"
|
|
7
|
|
8
|
|
9 namespace OrthancStone
|
|
10 {
|
|
11
|
|
12 class Scene2DInteractor
|
|
13 {
|
|
14 protected:
|
|
15 boost::shared_ptr<ViewportController> viewportController_;
|
881
|
16 boost::shared_ptr<IFlexiblePointerTracker> currentTracker_;
|
879
|
17
|
|
18 public:
|
|
19 Scene2DInteractor(boost::shared_ptr<ViewportController> viewportController) :
|
|
20 viewportController_(viewportController)
|
|
21 {}
|
|
22
|
881
|
23 virtual void OnMouseEvent(const GuiAdapterMouseEvent& guiEvent, const PointerEvent& pointerEvent) = 0;
|
|
24
|
879
|
25 };
|
|
26 }
|
|
27
|
|
28 class BasicScene2DInteractor : public OrthancStone::Scene2DInteractor
|
|
29 {
|
|
30 public:
|
|
31 BasicScene2DInteractor(boost::shared_ptr<OrthancStone::ViewportController> viewportController) :
|
|
32 Scene2DInteractor(viewportController)
|
|
33 {}
|
|
34
|
881
|
35 virtual void OnMouseEvent(const OrthancStone::GuiAdapterMouseEvent& event, const OrthancStone::PointerEvent& pointerEvent) override;
|
879
|
36 };
|
|
37
|