Mercurial > hg > orthanc-stone
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)) |