diff 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
line wrap: on
line diff
--- a/Samples/Sdl/TrackerSampleApp.cpp	Tue May 14 09:48:01 2019 +0200
+++ b/Samples/Sdl/TrackerSampleApp.cpp	Tue May 14 09:48:14 2019 +0200
@@ -21,6 +21,7 @@
 #include "TrackerSampleApp.h"
 
 #include "../Common/CreateLineMeasureTracker.h"
+#include "../Common/CreateAngleMeasureTracker.h"
 
 #include "../../Applications/Sdl/SdlOpenGLWindow.h"
 
@@ -162,7 +163,8 @@
     else if (event.type == SDL_MOUSEBUTTONDOWN)
     {
       PointerEvent e;
-      e.AddPosition(compositor.GetPixelCenterCoordinates(event.button.x, event.button.y));
+      e.AddPosition(compositor.GetPixelCenterCoordinates(
+        event.button.x, event.button.y));
       if (activeTracker_)
       {
         activeTracker_->PointerDown(e);
@@ -257,9 +259,6 @@
           //LOG(TRACE) << "Creating RotateSceneTracker";
           return CreateSimpleTrackerAdapter(PointerTrackerPtr(
             new RotateSceneTracker(scene_, e)));
-        case GuiTool_LineMeasure:
-          return FlexiblePointerTrackerPtr(new CreateLineMeasureTracker(
-            scene_, undoStack_, measureTools_, e));
         case GuiTool_Pan:
           return CreateSimpleTrackerAdapter(PointerTrackerPtr(
             new PanSceneTracker(scene_, e)));
@@ -272,8 +271,12 @@
         //  return new CircleMeasureTracker(scene_, measureTools_, undoStack_, e);
         //case GuiTool_EllipseMeasure:
         //  return new EllipseMeasureTracker(scene_, measureTools_, undoStack_, e);
+        case GuiTool_LineMeasure:
+          return FlexiblePointerTrackerPtr(new CreateLineMeasureTracker(
+            scene_, undoStack_, measureTools_, e));
         case GuiTool_AngleMeasure:
-          LOG(ERROR) << "Not implemented yet!";
+          return FlexiblePointerTrackerPtr(new CreateAngleMeasureTracker(
+            scene_, undoStack_, measureTools_, e));
           return NULL;
         case GuiTool_CircleMeasure:
           LOG(ERROR) << "Not implemented yet!";