Mercurial > hg > orthanc-stone
diff Framework/Scene2D/Scene2D.cpp @ 654:462a5074f914
Turned the scene into an observable to be able to dynamically react to
scene to canvas transform changes --> now the handles and angle measure
adornments are immune to zoom changes
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Tue, 14 May 2019 13:51:00 +0200 |
parents | b4fe9642e83b |
children | 059e1fd05fd6 |
line wrap: on
line diff
--- a/Framework/Scene2D/Scene2D.cpp Tue May 14 13:49:12 2019 +0200 +++ b/Framework/Scene2D/Scene2D.cpp Tue May 14 13:51:00 2019 +0200 @@ -75,10 +75,11 @@ }; - Scene2D::Scene2D(const Scene2D& other) : - sceneToCanvas_(other.sceneToCanvas_), - canvasToScene_(other.canvasToScene_), - layerCounter_(0) + Scene2D::Scene2D(const Scene2D& other) + : IObservable(other.GetBroker()) + , sceneToCanvas_(other.sceneToCanvas_) + , canvasToScene_(other.canvasToScene_) + , layerCounter_(0) { for (Content::const_iterator it = other.content_.begin(); it != other.content_.end(); ++it) @@ -220,9 +221,9 @@ sceneToCanvas_ = transform; canvasToScene_ = inverse; + BroadcastMessage(SceneTransformChanged(*this)); } - void Scene2D::FitContent(unsigned int canvasWidth, unsigned int canvasHeight) {