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 {