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"
|
883
|
6 #include "../../Framework/Scene2D/Internals/CompositorHelper.h"
|
879
|
7 #include "../../Applications/Generic/GuiAdapter.h"
|
|
8
|
|
9
|
|
10 namespace OrthancStone
|
|
11 {
|
|
12
|
|
13 class Scene2DInteractor
|
|
14 {
|
|
15 protected:
|
883
|
16 boost::shared_ptr<ViewportController> viewportController_;
|
|
17 boost::shared_ptr<IFlexiblePointerTracker> currentTracker_;
|
|
18 boost::shared_ptr<ICompositor> compositor_;
|
879
|
19
|
|
20 public:
|
|
21 Scene2DInteractor(boost::shared_ptr<ViewportController> viewportController) :
|
|
22 viewportController_(viewportController)
|
|
23 {}
|
|
24
|
883
|
25 void SetCompositor(boost::shared_ptr<ICompositor> compositor)
|
|
26 {
|
|
27 compositor_ = compositor;
|
|
28 }
|
|
29
|
|
30 virtual bool OnMouseEvent(const GuiAdapterMouseEvent& guiEvent, const PointerEvent& pointerEvent) = 0; // returns true if it has handled the event
|
|
31 virtual bool OnKeyboardEvent(const GuiAdapterKeyboardEvent& guiEvent) = 0; // returns true if it has handled the event
|
|
32 virtual bool OnWheelEvent(const GuiAdapterWheelEvent& guiEvent) = 0; // returns true if it has handled the event
|
881
|
33
|
879
|
34 };
|
|
35 }
|
|
36
|
883
|
37
|
|
38
|
|
39
|
879
|
40 class BasicScene2DInteractor : public OrthancStone::Scene2DInteractor
|
|
41 {
|
|
42 public:
|
|
43 BasicScene2DInteractor(boost::shared_ptr<OrthancStone::ViewportController> viewportController) :
|
|
44 Scene2DInteractor(viewportController)
|
|
45 {}
|
|
46
|
883
|
47 virtual bool OnMouseEvent(const OrthancStone::GuiAdapterMouseEvent& event, const OrthancStone::PointerEvent& pointerEvent) override;
|
|
48 virtual bool OnKeyboardEvent(const OrthancStone::GuiAdapterKeyboardEvent& guiEvent);
|
|
49 virtual bool OnWheelEvent(const OrthancStone::GuiAdapterWheelEvent& guiEvent);
|
879
|
50 };
|
|
51
|