annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
1 #include "Scene2DInteractor.h"
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
2
881
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
3 #include "../../Framework/Scene2D/PanSceneTracker.h"
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
4 #include "../../Framework/Scene2D/ZoomSceneTracker.h"
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
5
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
6
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
7 namespace OrthancStone
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
8 {
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
9
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
10 }
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
11
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
12 using namespace OrthancStone;
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
13
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
14
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
15 bool BasicScene2DInteractor::OnMouseEvent(const GuiAdapterMouseEvent& event, const PointerEvent& pointerEvent)
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
16 {
881
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
17 if (currentTracker_.get() != NULL)
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
18 {
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
19 switch (event.type)
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
20 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
21 case GUIADAPTER_EVENT_MOUSEUP:
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
22 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
23 currentTracker_->PointerUp(pointerEvent);
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
24 if (!currentTracker_->IsAlive())
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
25 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
26 currentTracker_.reset();
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
27 }
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
28 };break;
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
29 case GUIADAPTER_EVENT_MOUSEMOVE:
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
30 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
31 currentTracker_->PointerMove(pointerEvent);
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
32 };break;
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
33 }
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
34 return true;
881
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
35 }
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
36 else
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
37 {
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
38 if (event.button == GUIADAPTER_MOUSEBUTTON_LEFT)
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
39 {
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
40 }
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
41 else if (event.button == GUIADAPTER_MOUSEBUTTON_MIDDLE)
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
42 {
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
43 currentTracker_.reset(new PanSceneTracker(viewportController_, pointerEvent));
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
44 }
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
45 else if (event.button == GUIADAPTER_MOUSEBUTTON_RIGHT && compositor_.get() != NULL)
881
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
46 {
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
47 currentTracker_.reset(new ZoomSceneTracker(viewportController_, pointerEvent, compositor_->GetHeight()));
881
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
48 }
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
49 return true;
881
Alain Mazy <alain@mazy.be>
parents: 879
diff changeset
50 }
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
51 return false;
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
52 }
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
53
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
54 bool BasicScene2DInteractor::OnKeyboardEvent(const GuiAdapterKeyboardEvent& guiEvent)
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
55 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
56 switch (guiEvent.sym[0])
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
57 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
58 case 's':
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
59 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
60 viewportController_->FitContent(compositor_->GetWidth(), compositor_->GetHeight());
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
61 return true;
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
62 };
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
63 }
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
64 return false;
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
65 }
879
12b591d5d63c some Qt integration (wip)
Alain Mazy <alain@mazy.be>
parents:
diff changeset
66
883
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
67 bool BasicScene2DInteractor::OnWheelEvent(const GuiAdapterWheelEvent& guiEvent)
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
68 {
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
69 return false;
30268a0cafca basic scene Qt sample working
Alain Mazy <alain@mazy.be>
parents: 881
diff changeset
70 }