Mercurial > hg > orthanc-stone
comparison Framework/Scene2DViewport/ViewportController.cpp @ 1232:a28861abf888 broker
viewports for WebAssembly
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 09 Dec 2019 17:46:33 +0100 |
parents | 5147277850cf |
children | f621b57c9f37 |
comparison
equal
deleted
inserted
replaced
1229:b9f2a111c5b9 | 1232:a28861abf888 |
---|---|
64 } | 64 } |
65 | 65 |
66 | 66 |
67 ViewportController::ViewportController() : | 67 ViewportController::ViewportController() : |
68 undoStackW_(boost::make_shared<OrthancStone::UndoStack>()), | 68 undoStackW_(boost::make_shared<OrthancStone::UndoStack>()), |
69 canvasToSceneFactor_(1) | 69 canvasToSceneFactor_(1), |
70 { | 70 scene_(new Scene2D) |
71 } | 71 { |
72 | 72 } |
73 ViewportController::ViewportController(boost::weak_ptr<UndoStack> undoStackW) | 73 |
74 : undoStackW_(undoStackW) | 74 ViewportController::ViewportController(const Scene2D& scene) : |
75 , canvasToSceneFactor_(1) | 75 undoStackW_(boost::make_shared<OrthancStone::UndoStack>()), |
76 canvasToSceneFactor_(1), | |
77 scene_(scene.Clone()) | |
78 { | |
79 } | |
80 | |
81 ViewportController::ViewportController(boost::weak_ptr<UndoStack> undoStackW) : | |
82 undoStackW_(undoStackW), | |
83 canvasToSceneFactor_(1), | |
84 scene_(new Scene2D) | |
76 { | 85 { |
77 } | 86 } |
78 | 87 |
79 ViewportController::~ViewportController() | 88 ViewportController::~ViewportController() |
80 { | 89 { |
169 } | 178 } |
170 } | 179 } |
171 | 180 |
172 OrthancStone::AffineTransform2D ViewportController::GetCanvasToSceneTransform() const | 181 OrthancStone::AffineTransform2D ViewportController::GetCanvasToSceneTransform() const |
173 { | 182 { |
174 return scene_.GetCanvasToSceneTransform(); | 183 return scene_->GetCanvasToSceneTransform(); |
175 } | 184 } |
176 | 185 |
177 OrthancStone::AffineTransform2D ViewportController::GetSceneToCanvasTransform() const | 186 OrthancStone::AffineTransform2D ViewportController::GetSceneToCanvasTransform() const |
178 { | 187 { |
179 return scene_.GetSceneToCanvasTransform(); | 188 return scene_->GetSceneToCanvasTransform(); |
180 } | 189 } |
181 | 190 |
182 void ViewportController::SetSceneToCanvasTransform(const AffineTransform2D& transform) | 191 void ViewportController::SetSceneToCanvasTransform(const AffineTransform2D& transform) |
183 { | 192 { |
184 scene_.SetSceneToCanvasTransform(transform); | 193 scene_->SetSceneToCanvasTransform(transform); |
185 | 194 |
186 canvasToSceneFactor_ = scene_.GetCanvasToSceneTransform().ComputeZoom(); | 195 canvasToSceneFactor_ = scene_->GetCanvasToSceneTransform().ComputeZoom(); |
187 BroadcastMessage(SceneTransformChanged(*this)); | 196 BroadcastMessage(SceneTransformChanged(*this)); |
188 } | 197 } |
189 | 198 |
190 void ViewportController::FitContent(unsigned int viewportWidth, | 199 void ViewportController::FitContent(unsigned int viewportWidth, |
191 unsigned int viewportHeight) | 200 unsigned int viewportHeight) |
192 { | 201 { |
193 scene_.FitContent(viewportWidth, viewportHeight); | 202 scene_->FitContent(viewportWidth, viewportHeight); |
194 canvasToSceneFactor_ = scene_.GetCanvasToSceneTransform().ComputeZoom(); | 203 canvasToSceneFactor_ = scene_->GetCanvasToSceneTransform().ComputeZoom(); |
195 BroadcastMessage(SceneTransformChanged(*this)); | 204 BroadcastMessage(SceneTransformChanged(*this)); |
196 } | 205 } |
197 | 206 |
198 void ViewportController::AddMeasureTool(boost::shared_ptr<MeasureTool> measureTool) | 207 void ViewportController::AddMeasureTool(boost::shared_ptr<MeasureTool> measureTool) |
199 { | 208 { |