Mercurial > hg > orthanc-stone
comparison Samples/Qt/Scene2DInteractor.h @ 883:30268a0cafca am-dev
basic scene Qt sample working
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Tue, 09 Jul 2019 14:34:56 +0200 |
parents | a8cd3755db21 |
children | aad5ccf1be10 |
comparison
equal
deleted
inserted
replaced
882:31319fe867b9 | 883:30268a0cafca |
---|---|
1 #pragma once | 1 #pragma once |
2 | 2 |
3 #include "../../Framework/Scene2D/PointerEvent.h" | 3 #include "../../Framework/Scene2D/PointerEvent.h" |
4 #include "../../Framework/Scene2DViewport/ViewportController.h" | 4 #include "../../Framework/Scene2DViewport/ViewportController.h" |
5 #include "../../Framework/Scene2DViewport/IFlexiblePointerTracker.h" | 5 #include "../../Framework/Scene2DViewport/IFlexiblePointerTracker.h" |
6 #include "../../Framework/Scene2D/Internals/CompositorHelper.h" | |
6 #include "../../Applications/Generic/GuiAdapter.h" | 7 #include "../../Applications/Generic/GuiAdapter.h" |
7 | 8 |
8 | 9 |
9 namespace OrthancStone | 10 namespace OrthancStone |
10 { | 11 { |
11 | 12 |
12 class Scene2DInteractor | 13 class Scene2DInteractor |
13 { | 14 { |
14 protected: | 15 protected: |
15 boost::shared_ptr<ViewportController> viewportController_; | 16 boost::shared_ptr<ViewportController> viewportController_; |
16 boost::shared_ptr<IFlexiblePointerTracker> currentTracker_; | 17 boost::shared_ptr<IFlexiblePointerTracker> currentTracker_; |
18 boost::shared_ptr<ICompositor> compositor_; | |
17 | 19 |
18 public: | 20 public: |
19 Scene2DInteractor(boost::shared_ptr<ViewportController> viewportController) : | 21 Scene2DInteractor(boost::shared_ptr<ViewportController> viewportController) : |
20 viewportController_(viewportController) | 22 viewportController_(viewportController) |
21 {} | 23 {} |
22 | 24 |
23 virtual void OnMouseEvent(const GuiAdapterMouseEvent& guiEvent, const PointerEvent& pointerEvent) = 0; | 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 | |
24 | 33 |
25 }; | 34 }; |
26 } | 35 } |
36 | |
37 | |
38 | |
27 | 39 |
28 class BasicScene2DInteractor : public OrthancStone::Scene2DInteractor | 40 class BasicScene2DInteractor : public OrthancStone::Scene2DInteractor |
29 { | 41 { |
30 public: | 42 public: |
31 BasicScene2DInteractor(boost::shared_ptr<OrthancStone::ViewportController> viewportController) : | 43 BasicScene2DInteractor(boost::shared_ptr<OrthancStone::ViewportController> viewportController) : |
32 Scene2DInteractor(viewportController) | 44 Scene2DInteractor(viewportController) |
33 {} | 45 {} |
34 | 46 |
35 virtual void OnMouseEvent(const OrthancStone::GuiAdapterMouseEvent& event, const OrthancStone::PointerEvent& pointerEvent) override; | 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); | |
36 }; | 50 }; |
37 | 51 |