Mercurial > hg > orthanc-stone
comparison Framework/Widgets/WorldSceneWidget.h @ 332:50e5ec1bdd46 am-2
separating ZoomMouseTracker and PanMouseTracker from WorldSceneWidget
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 17 Oct 2018 19:38:39 +0200 |
parents | 7ccf919faff0 |
children | 08683537a227 |
comparison
equal
deleted
inserted
replaced
331:7ccf919faff0 | 332:50e5ec1bdd46 |
---|---|
29 | 29 |
30 namespace OrthancStone | 30 namespace OrthancStone |
31 { | 31 { |
32 class WorldSceneWidget : public CairoWidget | 32 class WorldSceneWidget : public CairoWidget |
33 { | 33 { |
34 public: | |
35 class PanMouseTracker : public IMouseTracker | |
36 { | |
37 private: | |
38 WorldSceneWidget& that_; | |
39 double previousPanX_; | |
40 double previousPanY_; | |
41 double downX_; | |
42 double downY_; | |
43 | |
44 public: | |
45 PanMouseTracker(WorldSceneWidget& that, int x, int y); | |
46 | |
47 virtual void Render(Orthanc::ImageAccessor& surface) {} | |
48 | |
49 virtual void MouseUp() {} | |
50 | |
51 virtual void MouseMove(int x, int y); | |
52 }; | |
53 | |
54 class ZoomMouseTracker : public IMouseTracker | |
55 { | |
56 private: | |
57 WorldSceneWidget& that_; | |
58 int downX_; | |
59 int downY_; | |
60 double centerX_; | |
61 double centerY_; | |
62 double oldZoom_; | |
63 | |
64 public: | |
65 ZoomMouseTracker(WorldSceneWidget& that, int x, int y); | |
66 | |
67 void Render(Orthanc::ImageAccessor& surface) {} | |
68 | |
69 virtual void MouseUp() {} | |
70 | |
71 virtual void MouseMove(int x, int y); | |
72 }; | |
73 | |
74 private: | 34 private: |
75 class SceneMouseTracker; | 35 class SceneMouseTracker; |
76 | 36 |
77 ViewportGeometry view_; | 37 ViewportGeometry view_; |
78 IWorldSceneInteractor* interactor_; | 38 IWorldSceneInteractor* interactor_; |
102 | 62 |
103 void SetInteractor(IWorldSceneInteractor& interactor); | 63 void SetInteractor(IWorldSceneInteractor& interactor); |
104 | 64 |
105 void SetView(const ViewportGeometry& view); | 65 void SetView(const ViewportGeometry& view); |
106 | 66 |
107 ViewportGeometry GetView(); | 67 const ViewportGeometry& GetView() const |
68 { | |
69 return view_; | |
70 } | |
108 | 71 |
109 virtual void SetSize(unsigned int width, | 72 virtual void SetSize(unsigned int width, |
110 unsigned int height); | 73 unsigned int height); |
111 | 74 |
112 virtual void FitContent(); | 75 virtual void FitContent(); |