Mercurial > hg > orthanc-stone
diff Framework/Radiography/RadiographyLayer.cpp @ 1279:7ec8fea061b9 broker
integration mainline->broker
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 04 Feb 2020 15:20:08 +0100 |
parents | 0ca50d275b9a 398ea4259e65 |
children | 379c00958553 |
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyLayer.cpp Fri Jan 31 17:34:57 2020 +0100 +++ b/Framework/Radiography/RadiographyLayer.cpp Tue Feb 04 15:20:08 2020 +0100 @@ -59,15 +59,15 @@ void RadiographyLayer::UpdateTransform() { + // important to update transform_ before getting the center to use the right scaling !!! transform_ = AffineTransform2D::CreateScaling(geometry_.GetScalingX(), geometry_.GetScalingY()); double centerX, centerY; GetCenter(centerX, centerY); transform_ = AffineTransform2D::Combine( - AffineTransform2D::CreateOffset(geometry_.GetPanX() + centerX, geometry_.GetPanY() + centerY), - AffineTransform2D::CreateRotation(geometry_.GetAngle()), - AffineTransform2D::CreateOffset(-centerX, -centerY), + AffineTransform2D::CreateOffset(geometry_.GetPanX(), geometry_.GetPanY()), + AffineTransform2D::CreateRotation(geometry_.GetAngle(), centerX, centerY), transform_); transformInverse_ = AffineTransform2D::Invert(transform_); @@ -222,14 +222,19 @@ } void RadiographyLayer::SetSize(unsigned int width, - unsigned int height) + unsigned int height, + bool emitLayerEditedEvent) { hasSize_ = true; width_ = width; height_ = height; UpdateTransform(); - BroadcastMessage(RadiographyLayer::LayerEditedMessage(*this)); + + if (emitLayerEditedEvent) + { + BroadcastMessage(RadiographyLayer::LayerEditedMessage(*this)); + } }