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