comparison Framework/Scene2DViewport/CreateSimpleTrackerAdapter.cpp @ 698:8b6adfb62a2f refactor-viewport-controller

Code is broken -- stashing ongoing work in a branch
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 15 May 2019 16:56:17 +0200
parents
children 059e1fd05fd6
comparison
equal deleted inserted replaced
660:cb3b76d16234 698:8b6adfb62a2f
1 /**
2 * Stone of Orthanc
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
4 * Department, University Hospital of Liege, Belgium
5 * Copyright (C) 2017-2019 Osimis S.A., Belgium
6 *
7 * This program is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU Affero General Public License
9 * as published by the Free Software Foundation, either version 3 of
10 * the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Affero General Public License for more details.
16 *
17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **/
20
21 #include "IFlexiblePointerTracker.h"
22 #include <Framework/Scene2D/IPointerTracker.h>
23
24
25 namespace OrthancStone
26 {
27 namespace
28 {
29 class SimpleTrackerAdapter : public IFlexiblePointerTracker
30 {
31 public:
32 SimpleTrackerAdapter(PointerTrackerPtr wrappedTracker)
33 : wrappedTracker_(wrappedTracker)
34 , active_(true)
35 {
36 }
37
38 virtual void PointerMove(const PointerEvent& event) ORTHANC_OVERRIDE
39 {
40 if(active_)
41 wrappedTracker_->Update(event);
42 };
43 virtual void PointerUp(const PointerEvent& event) ORTHANC_OVERRIDE
44 {
45 if (wrappedTracker_)
46 {
47 wrappedTracker_->Release();
48 wrappedTracker_ = NULL;
49 }
50 active_ = false;
51 }
52 virtual void PointerDown(const PointerEvent& event) ORTHANC_OVERRIDE
53 {
54 // nothing to do atm
55 }
56 virtual bool IsActive() const ORTHANC_OVERRIDE
57 {
58 return active_;
59 }
60
61 virtual void Cancel() ORTHANC_OVERRIDE
62 {
63 wrappedTracker_ = NULL;
64 active_ = false;
65 }
66
67 private:
68 PointerTrackerPtr wrappedTracker_;
69 bool active_;
70 };
71 }
72
73 FlexiblePointerTrackerPtr CreateSimpleTrackerAdapter(PointerTrackerPtr t)
74 {
75 return FlexiblePointerTrackerPtr(new SimpleTrackerAdapter(t));
76 }
77 }