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();