Mercurial > hg > orthanc-stone
comparison Framework/Widgets/WorldSceneWidget.h @ 331:7ccf919faff0 am-2
simplify WorldSceneWidget
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 17 Oct 2018 15:18:48 +0200 |
parents | 7a364e44fbb4 |
children | 50e5ec1bdd46 |
comparison
equal
deleted
inserted
replaced
330:7a364e44fbb4 | 331:7ccf919faff0 |
---|---|
70 | 70 |
71 virtual void MouseMove(int x, int y); | 71 virtual void MouseMove(int x, int y); |
72 }; | 72 }; |
73 | 73 |
74 private: | 74 private: |
75 struct SizeChangeFunctor; | |
76 | |
77 class SceneMouseTracker; | 75 class SceneMouseTracker; |
78 | 76 |
79 ViewportGeometry view_; | 77 ViewportGeometry view_; |
80 IWorldSceneInteractor* interactor_; | 78 IWorldSceneInteractor* interactor_; |
81 | 79 |
82 public: | 80 protected: |
83 virtual Extent2D GetSceneExtent() = 0; | 81 virtual Extent2D GetSceneExtent() = 0; |
84 | 82 |
85 protected: | |
86 virtual bool RenderScene(CairoContext& context, | 83 virtual bool RenderScene(CairoContext& context, |
87 const ViewportGeometry& view) = 0; | 84 const ViewportGeometry& view) = 0; |
88 | 85 |
86 // From CairoWidget | |
89 virtual bool RenderCairo(CairoContext& context); | 87 virtual bool RenderCairo(CairoContext& context); |
90 | 88 |
89 // From CairoWidget | |
91 virtual void RenderMouseOverCairo(CairoContext& context, | 90 virtual void RenderMouseOverCairo(CairoContext& context, |
92 int x, | 91 int x, |
93 int y); | 92 int y); |
94 | 93 |
95 void SetSceneExtent(ViewportGeometry& geometry); | 94 void SetSceneExtent(ViewportGeometry& geometry); |
99 CairoWidget(name), | 98 CairoWidget(name), |
100 interactor_(NULL) | 99 interactor_(NULL) |
101 { | 100 { |
102 } | 101 } |
103 | 102 |
104 virtual void SetSize(unsigned int width, | |
105 unsigned int height); | |
106 | |
107 void SetInteractor(IWorldSceneInteractor& interactor); | 103 void SetInteractor(IWorldSceneInteractor& interactor); |
108 | |
109 virtual void FitContent(); | |
110 | 104 |
111 void SetView(const ViewportGeometry& view); | 105 void SetView(const ViewportGeometry& view); |
112 | 106 |
113 ViewportGeometry GetView(); | 107 ViewportGeometry GetView(); |
114 | 108 |
109 virtual void SetSize(unsigned int width, | |
110 unsigned int height); | |
111 | |
112 virtual void FitContent(); | |
113 | |
115 virtual IMouseTracker* CreateMouseTracker(MouseButton button, | 114 virtual IMouseTracker* CreateMouseTracker(MouseButton button, |
116 int x, | 115 int x, |
117 int y, | 116 int y, |
118 KeyboardModifiers modifiers); | 117 KeyboardModifiers modifiers); |
119 | |
120 virtual void RenderSceneMouseOver(CairoContext& context, | |
121 const ViewportGeometry& view, | |
122 double x, | |
123 double y); | |
124 | |
125 virtual IWorldSceneMouseTracker* CreateMouseSceneTracker(const ViewportGeometry& view, | |
126 MouseButton button, | |
127 double x, | |
128 double y, | |
129 KeyboardModifiers modifiers); | |
130 | 118 |
131 virtual void MouseWheel(MouseWheelDirection direction, | 119 virtual void MouseWheel(MouseWheelDirection direction, |
132 int x, | 120 int x, |
133 int y, | 121 int y, |
134 KeyboardModifiers modifiers); | 122 KeyboardModifiers modifiers); |