comparison OrthancStone/Sources/Scene2DViewport/LineMeasureTool.cpp @ 1571:85e117739eca

cppcheck
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 21 Sep 2020 17:46:39 +0200
parents 244ad1e4e76a
children 8563ea5d8ae4
comparison
equal deleted inserted replaced
1570:9a04f42098a3 1571:85e117739eca
28 28
29 #include <boost/make_shared.hpp> 29 #include <boost/make_shared.hpp>
30 30
31 namespace OrthancStone 31 namespace OrthancStone
32 { 32 {
33
34 LineMeasureTool::LineMeasureTool( 33 LineMeasureTool::LineMeasureTool(
35 boost::shared_ptr<IViewport> viewport) 34 boost::shared_ptr<IViewport> viewport):
36 : MeasureTool(viewport) 35 MeasureTool(viewport),
37 #if ORTHANC_STONE_ENABLE_OUTLINED_TEXT == 1 36 #if ORTHANC_STONE_ENABLE_OUTLINED_TEXT == 1
38 , layerHolder_(boost::shared_ptr<LayerHolder>(new LayerHolder(viewport,1,5))) 37 layerHolder_(boost::shared_ptr<LayerHolder>(new LayerHolder(viewport,1,5))),
39 #else 38 #else
40 , layerHolder_(boost::shared_ptr<LayerHolder>(new LayerHolder(viewport,1,1))) 39 layerHolder_(boost::shared_ptr<LayerHolder>(new LayerHolder(viewport,1,1))),
41 #endif 40 #endif
42 , lineHighlightArea_(LineHighlightArea_None) 41 baseLayerIndex_(0),
42 lineHighlightArea_(LineHighlightArea_None)
43 { 43 {
44 44
45 } 45 }
46 46
47 boost::shared_ptr<LineMeasureTool> LineMeasureTool::Create(boost::shared_ptr<IViewport> viewport) 47 boost::shared_ptr<LineMeasureTool> LineMeasureTool::Create(boost::shared_ptr<IViewport> viewport)
116 116
117 LineMeasureTool::LineHighlightArea LineMeasureTool::LineHitTest(ScenePoint2D p) 117 LineMeasureTool::LineHighlightArea LineMeasureTool::LineHitTest(ScenePoint2D p)
118 { 118 {
119 std::unique_ptr<IViewport::ILock> lock(viewport_->Lock()); 119 std::unique_ptr<IViewport::ILock> lock(viewport_->Lock());
120 ViewportController& controller = lock->GetController(); 120 ViewportController& controller = lock->GetController();
121 Scene2D& scene = controller.GetScene(); 121 const Scene2D& scene = controller.GetScene();
122 122
123 const double pixelToScene = scene.GetCanvasToSceneTransform().ComputeZoom(); 123 const double pixelToScene = scene.GetCanvasToSceneTransform().ComputeZoom();
124 const double SQUARED_HIT_TEST_MAX_DISTANCE_SCENE_COORD = 124 const double SQUARED_HIT_TEST_MAX_DISTANCE_SCENE_COORD =
125 pixelToScene * HIT_TEST_MAX_DISTANCE_CANVAS_COORD * 125 pixelToScene * HIT_TEST_MAX_DISTANCE_CANVAS_COORD *
126 pixelToScene * HIT_TEST_MAX_DISTANCE_CANVAS_COORD; 126 pixelToScene * HIT_TEST_MAX_DISTANCE_CANVAS_COORD;
152 152
153 boost::shared_ptr<IFlexiblePointerTracker> LineMeasureTool::CreateEditionTracker(const PointerEvent& e) 153 boost::shared_ptr<IFlexiblePointerTracker> LineMeasureTool::CreateEditionTracker(const PointerEvent& e)
154 { 154 {
155 std::unique_ptr<IViewport::ILock> lock(viewport_->Lock()); 155 std::unique_ptr<IViewport::ILock> lock(viewport_->Lock());
156 ViewportController& controller = lock->GetController(); 156 ViewportController& controller = lock->GetController();
157 Scene2D& scene = controller.GetScene(); 157 const Scene2D& scene = controller.GetScene();
158 158
159 ScenePoint2D scenePos = e.GetMainPosition().Apply( 159 ScenePoint2D scenePos = e.GetMainPosition().Apply(
160 scene.GetCanvasToSceneTransform()); 160 scene.GetCanvasToSceneTransform());
161 161
162 if (!HitTest(scenePos)) 162 if (!HitTest(scenePos))