Mercurial > hg > orthanc-stone
comparison Samples/Sdl/TrackerSampleApp.cpp @ 651:62f6ff016085
Iteration in angle measuring tool. Text label is not ok and handles and arcs
(and maybe angle sides) should not scale with zoom.
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Tue, 14 May 2019 09:48:14 +0200 |
parents | f939f449482c |
children | 462a5074f914 |
comparison
equal
deleted
inserted
replaced
650:200f7e1d57d1 | 651:62f6ff016085 |
---|---|
19 **/ | 19 **/ |
20 | 20 |
21 #include "TrackerSampleApp.h" | 21 #include "TrackerSampleApp.h" |
22 | 22 |
23 #include "../Common/CreateLineMeasureTracker.h" | 23 #include "../Common/CreateLineMeasureTracker.h" |
24 #include "../Common/CreateAngleMeasureTracker.h" | |
24 | 25 |
25 #include "../../Applications/Sdl/SdlOpenGLWindow.h" | 26 #include "../../Applications/Sdl/SdlOpenGLWindow.h" |
26 | 27 |
27 #include "../../Framework/Scene2D/PanSceneTracker.h" | 28 #include "../../Framework/Scene2D/PanSceneTracker.h" |
28 #include "../../Framework/Scene2D/RotateSceneTracker.h" | 29 #include "../../Framework/Scene2D/RotateSceneTracker.h" |
160 } | 161 } |
161 } | 162 } |
162 else if (event.type == SDL_MOUSEBUTTONDOWN) | 163 else if (event.type == SDL_MOUSEBUTTONDOWN) |
163 { | 164 { |
164 PointerEvent e; | 165 PointerEvent e; |
165 e.AddPosition(compositor.GetPixelCenterCoordinates(event.button.x, event.button.y)); | 166 e.AddPosition(compositor.GetPixelCenterCoordinates( |
167 event.button.x, event.button.y)); | |
166 if (activeTracker_) | 168 if (activeTracker_) |
167 { | 169 { |
168 activeTracker_->PointerDown(e); | 170 activeTracker_->PointerDown(e); |
169 if (!activeTracker_->IsActive()) | 171 if (!activeTracker_->IsActive()) |
170 activeTracker_ = NULL; | 172 activeTracker_ = NULL; |
255 { | 257 { |
256 case GuiTool_Rotate: | 258 case GuiTool_Rotate: |
257 //LOG(TRACE) << "Creating RotateSceneTracker"; | 259 //LOG(TRACE) << "Creating RotateSceneTracker"; |
258 return CreateSimpleTrackerAdapter(PointerTrackerPtr( | 260 return CreateSimpleTrackerAdapter(PointerTrackerPtr( |
259 new RotateSceneTracker(scene_, e))); | 261 new RotateSceneTracker(scene_, e))); |
260 case GuiTool_LineMeasure: | |
261 return FlexiblePointerTrackerPtr(new CreateLineMeasureTracker( | |
262 scene_, undoStack_, measureTools_, e)); | |
263 case GuiTool_Pan: | 262 case GuiTool_Pan: |
264 return CreateSimpleTrackerAdapter(PointerTrackerPtr( | 263 return CreateSimpleTrackerAdapter(PointerTrackerPtr( |
265 new PanSceneTracker(scene_, e))); | 264 new PanSceneTracker(scene_, e))); |
266 case GuiTool_Zoom: | 265 case GuiTool_Zoom: |
267 return CreateSimpleTrackerAdapter(PointerTrackerPtr( | 266 return CreateSimpleTrackerAdapter(PointerTrackerPtr( |
270 // return new AngleMeasureTracker(scene_, measureTools_, undoStack_, e); | 269 // return new AngleMeasureTracker(scene_, measureTools_, undoStack_, e); |
271 //case GuiTool_CircleMeasure: | 270 //case GuiTool_CircleMeasure: |
272 // return new CircleMeasureTracker(scene_, measureTools_, undoStack_, e); | 271 // return new CircleMeasureTracker(scene_, measureTools_, undoStack_, e); |
273 //case GuiTool_EllipseMeasure: | 272 //case GuiTool_EllipseMeasure: |
274 // return new EllipseMeasureTracker(scene_, measureTools_, undoStack_, e); | 273 // return new EllipseMeasureTracker(scene_, measureTools_, undoStack_, e); |
274 case GuiTool_LineMeasure: | |
275 return FlexiblePointerTrackerPtr(new CreateLineMeasureTracker( | |
276 scene_, undoStack_, measureTools_, e)); | |
275 case GuiTool_AngleMeasure: | 277 case GuiTool_AngleMeasure: |
276 LOG(ERROR) << "Not implemented yet!"; | 278 return FlexiblePointerTrackerPtr(new CreateAngleMeasureTracker( |
279 scene_, undoStack_, measureTools_, e)); | |
277 return NULL; | 280 return NULL; |
278 case GuiTool_CircleMeasure: | 281 case GuiTool_CircleMeasure: |
279 LOG(ERROR) << "Not implemented yet!"; | 282 LOG(ERROR) << "Not implemented yet!"; |
280 return NULL; | 283 return NULL; |
281 case GuiTool_EllipseMeasure: | 284 case GuiTool_EllipseMeasure: |