# HG changeset patch # User Benjamin Golinvaux # Date 1558349369 -7200 # Node ID af0aa0c149fafb8a7045b399117bd95b1f78cb11 # Parent f2ee003ba955e7e44ae38150d2de0afb11940436 FitContent is now wrapped by the controller (for observability) diff -r f2ee003ba955 -r af0aa0c149fa Framework/Scene2DViewport/ViewportController.cpp --- a/Framework/Scene2DViewport/ViewportController.cpp Mon May 20 12:37:30 2019 +0200 +++ b/Framework/Scene2DViewport/ViewportController.cpp Mon May 20 12:49:29 2019 +0200 @@ -44,6 +44,19 @@ throw StoneException(ErrorCode_NotImplemented); } + std::vector ViewportController::HitTestMeasureTools( + ScenePoint2D p) + { + std::vector ret; + + + //for (size_t i = 0; i < measureTools_.size(); ++i) + //{ + + //} + return ret; + } + const OrthancStone::AffineTransform2D& ViewportController::GetCanvasToSceneTransform() const { return scene_->GetCanvasToSceneTransform(); @@ -61,5 +74,12 @@ BroadcastMessage(SceneTransformChanged(*this)); } + void ViewportController::FitContent( + unsigned int canvasWidth, unsigned int canvasHeight) + { + scene_->FitContent(canvasWidth, canvasHeight); + BroadcastMessage(SceneTransformChanged(*this)); + } + } diff -r f2ee003ba955 -r af0aa0c149fa Framework/Scene2DViewport/ViewportController.h --- a/Framework/Scene2DViewport/ViewportController.h Mon May 20 12:37:30 2019 +0200 +++ b/Framework/Scene2DViewport/ViewportController.h Mon May 20 12:49:29 2019 +0200 @@ -78,6 +78,8 @@ /** Forwarded to the underlying scene, and broadcasted to the observers */ void SetSceneToCanvasTransform(const AffineTransform2D& transform); + /** Forwarded to the underlying scene, and broadcasted to the observers */ + void FitContent(unsigned int canvasWidth, unsigned int canvasHeight); private: Scene2DPtr scene_; diff -r f2ee003ba955 -r af0aa0c149fa Samples/Sdl/BasicScene.cpp --- a/Samples/Sdl/BasicScene.cpp Mon May 20 12:37:30 2019 +0200 +++ b/Samples/Sdl/BasicScene.cpp Mon May 20 12:49:29 2019 +0200 @@ -241,7 +241,7 @@ switch (event.key.keysym.sym) { case SDLK_s: - scene.FitContent(compositor.GetCanvasWidth(), + controller->FitContent(compositor.GetCanvasWidth(), compositor.GetCanvasHeight()); break; @@ -280,8 +280,7 @@ { SdlOpenGLWindow window("Hello", 1024, 768); - controller->GetScene()->FitContent( - window.GetCanvasWidth(), window.GetCanvasHeight()); + controller->FitContent(window.GetCanvasWidth(), window.GetCanvasHeight()); glEnable(GL_DEBUG_OUTPUT); glDebugMessageCallback(OpenGLMessageCallback, 0); diff -r f2ee003ba955 -r af0aa0c149fa Samples/Sdl/TrackerSampleApp.cpp --- a/Samples/Sdl/TrackerSampleApp.cpp Mon May 20 12:37:30 2019 +0200 +++ b/Samples/Sdl/TrackerSampleApp.cpp Mon May 20 12:49:29 2019 +0200 @@ -252,7 +252,7 @@ break; case SDLK_s: - GetScene()->FitContent(compositor_->GetCanvasWidth(), + controller_->FitContent(compositor_->GetCanvasWidth(), compositor_->GetCanvasHeight()); break; @@ -516,7 +516,7 @@ // that needs to be scaled SdlOpenGLWindow window("Hello", 1024, 1024, false); - GetScene()->FitContent(window.GetCanvasWidth(), window.GetCanvasHeight()); + controller_->FitContent(window.GetCanvasWidth(), window.GetCanvasHeight()); glEnable(GL_DEBUG_OUTPUT); glDebugMessageCallback(OpenGLMessageCallback, 0);