comparison Samples/Qt/Scene2DInteractor.cpp @ 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 56e4e9281076
comparison
equal deleted inserted replaced
882:31319fe867b9 883:30268a0cafca
10 } 10 }
11 11
12 using namespace OrthancStone; 12 using namespace OrthancStone;
13 13
14 14
15 void BasicScene2DInteractor::OnMouseEvent(const GuiAdapterMouseEvent& event, const PointerEvent& pointerEvent) 15 bool BasicScene2DInteractor::OnMouseEvent(const GuiAdapterMouseEvent& event, const PointerEvent& pointerEvent)
16 { 16 {
17 if (currentTracker_.get() != NULL) 17 if (currentTracker_.get() != NULL)
18 { 18 {
19 currentTracker_->PointerMove(pointerEvent); 19 switch (event.type)
20 {
21 case GUIADAPTER_EVENT_MOUSEUP:
22 {
23 currentTracker_->PointerUp(pointerEvent);
24 if (!currentTracker_->IsAlive())
25 {
26 currentTracker_.reset();
27 }
28 };break;
29 case GUIADAPTER_EVENT_MOUSEMOVE:
30 {
31 currentTracker_->PointerMove(pointerEvent);
32 };break;
33 }
34 return true;
20 } 35 }
21 else 36 else
22 { 37 {
23 if (event.button == GUIADAPTER_MOUSEBUTTON_LEFT) 38 if (event.button == GUIADAPTER_MOUSEBUTTON_LEFT)
24 { 39 {
25 } 40 }
26 else if (event.button == GUIADAPTER_MOUSEBUTTON_MIDDLE) 41 else if (event.button == GUIADAPTER_MOUSEBUTTON_MIDDLE)
27 { 42 {
28 currentTracker_.reset(new PanSceneTracker(viewportController_, pointerEvent)); 43 currentTracker_.reset(new PanSceneTracker(viewportController_, pointerEvent));
29 } 44 }
30 else if (event.button == GUIADAPTER_MOUSEBUTTON_RIGHT) 45 else if (event.button == GUIADAPTER_MOUSEBUTTON_RIGHT && compositor_.get() != NULL)
31 { 46 {
32 // TODO: need a pointer to compositor currentTracker_.reset(new ZoomSceneTracker(viewportController_, pointerEvent, viewportController_->)); 47 currentTracker_.reset(new ZoomSceneTracker(viewportController_, pointerEvent, compositor_->GetHeight()));
33 } 48 }
49 return true;
34 } 50 }
35 51 return false;
36 } 52 }
37 53
54 bool BasicScene2DInteractor::OnKeyboardEvent(const GuiAdapterKeyboardEvent& guiEvent)
55 {
56 switch (guiEvent.sym[0])
57 {
58 case 's':
59 {
60 viewportController_->FitContent(compositor_->GetWidth(), compositor_->GetHeight());
61 return true;
62 };
63 }
64 return false;
65 }
38 66
67 bool BasicScene2DInteractor::OnWheelEvent(const GuiAdapterWheelEvent& guiEvent)
68 {
69 return false;
70 }