Mercurial > hg > orthanc-stone
comparison Samples/Deprecated/Qt/Scene2DInteractor.cpp @ 1348:eac254fb6791 broker
Moved Application/Samples/* to Application/Samples/Deprecated/* (remaining) + moved Samples/* to Samples/Deprecated/*
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Tue, 07 Apr 2020 14:31:28 +0200 |
parents | Samples/Qt/Scene2DInteractor.cpp@56e4e9281076 |
children |
comparison
equal
deleted
inserted
replaced
1347:bfd77672d825 | 1348:eac254fb6791 |
---|---|
1 #include "Scene2DInteractor.h" | |
2 | |
3 #include "../../Framework/Scene2D/PanSceneTracker.h" | |
4 #include "../../Framework/Scene2D/ZoomSceneTracker.h" | |
5 #include "../../Framework/Scene2D/RotateSceneTracker.h" | |
6 | |
7 | |
8 namespace OrthancStone | |
9 { | |
10 | |
11 } | |
12 | |
13 using namespace OrthancStone; | |
14 | |
15 | |
16 bool BasicScene2DInteractor::OnMouseEvent(const GuiAdapterMouseEvent& event, const PointerEvent& pointerEvent) | |
17 { | |
18 if (currentTracker_.get() != NULL) | |
19 { | |
20 switch (event.type) | |
21 { | |
22 case GUIADAPTER_EVENT_MOUSEUP: | |
23 { | |
24 currentTracker_->PointerUp(pointerEvent); | |
25 if (!currentTracker_->IsAlive()) | |
26 { | |
27 currentTracker_.reset(); | |
28 } | |
29 };break; | |
30 case GUIADAPTER_EVENT_MOUSEMOVE: | |
31 { | |
32 currentTracker_->PointerMove(pointerEvent); | |
33 };break; | |
34 } | |
35 return true; | |
36 } | |
37 else | |
38 { | |
39 if (event.button == GUIADAPTER_MOUSEBUTTON_LEFT) | |
40 { | |
41 currentTracker_.reset(new RotateSceneTracker(viewportController_, pointerEvent)); | |
42 } | |
43 else if (event.button == GUIADAPTER_MOUSEBUTTON_MIDDLE) | |
44 { | |
45 currentTracker_.reset(new PanSceneTracker(viewportController_, pointerEvent)); | |
46 } | |
47 else if (event.button == GUIADAPTER_MOUSEBUTTON_RIGHT && compositor_.get() != NULL) | |
48 { | |
49 currentTracker_.reset(new ZoomSceneTracker(viewportController_, pointerEvent, compositor_->GetHeight())); | |
50 } | |
51 return true; | |
52 } | |
53 return false; | |
54 } | |
55 | |
56 bool BasicScene2DInteractor::OnKeyboardEvent(const GuiAdapterKeyboardEvent& guiEvent) | |
57 { | |
58 switch (guiEvent.sym[0]) | |
59 { | |
60 case 's': | |
61 { | |
62 viewportController_->FitContent(compositor_->GetWidth(), compositor_->GetHeight()); | |
63 return true; | |
64 }; | |
65 } | |
66 return false; | |
67 } | |
68 | |
69 bool BasicScene2DInteractor::OnWheelEvent(const GuiAdapterWheelEvent& guiEvent) | |
70 { | |
71 return false; | |
72 } |