Mercurial > hg > orthanc-stone
comparison 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 |
comparison
equal
deleted
inserted
replaced
1271:0ca50d275b9a | 1279:7ec8fea061b9 |
---|---|
57 height = cropHeight_; | 57 height = cropHeight_; |
58 } | 58 } |
59 | 59 |
60 void RadiographyLayer::UpdateTransform() | 60 void RadiographyLayer::UpdateTransform() |
61 { | 61 { |
62 // important to update transform_ before getting the center to use the right scaling !!! | |
62 transform_ = AffineTransform2D::CreateScaling(geometry_.GetScalingX(), geometry_.GetScalingY()); | 63 transform_ = AffineTransform2D::CreateScaling(geometry_.GetScalingX(), geometry_.GetScalingY()); |
63 | 64 |
64 double centerX, centerY; | 65 double centerX, centerY; |
65 GetCenter(centerX, centerY); | 66 GetCenter(centerX, centerY); |
66 | 67 |
67 transform_ = AffineTransform2D::Combine( | 68 transform_ = AffineTransform2D::Combine( |
68 AffineTransform2D::CreateOffset(geometry_.GetPanX() + centerX, geometry_.GetPanY() + centerY), | 69 AffineTransform2D::CreateOffset(geometry_.GetPanX(), geometry_.GetPanY()), |
69 AffineTransform2D::CreateRotation(geometry_.GetAngle()), | 70 AffineTransform2D::CreateRotation(geometry_.GetAngle(), centerX, centerY), |
70 AffineTransform2D::CreateOffset(-centerX, -centerY), | |
71 transform_); | 71 transform_); |
72 | 72 |
73 transformInverse_ = AffineTransform2D::Invert(transform_); | 73 transformInverse_ = AffineTransform2D::Invert(transform_); |
74 } | 74 } |
75 | 75 |
220 | 220 |
221 BroadcastMessage(RadiographyLayer::LayerEditedMessage(*this)); | 221 BroadcastMessage(RadiographyLayer::LayerEditedMessage(*this)); |
222 } | 222 } |
223 | 223 |
224 void RadiographyLayer::SetSize(unsigned int width, | 224 void RadiographyLayer::SetSize(unsigned int width, |
225 unsigned int height) | 225 unsigned int height, |
226 bool emitLayerEditedEvent) | |
226 { | 227 { |
227 hasSize_ = true; | 228 hasSize_ = true; |
228 width_ = width; | 229 width_ = width; |
229 height_ = height; | 230 height_ = height; |
230 | 231 |
231 UpdateTransform(); | 232 UpdateTransform(); |
232 BroadcastMessage(RadiographyLayer::LayerEditedMessage(*this)); | 233 |
234 if (emitLayerEditedEvent) | |
235 { | |
236 BroadcastMessage(RadiographyLayer::LayerEditedMessage(*this)); | |
237 } | |
233 } | 238 } |
234 | 239 |
235 | 240 |
236 Extent2D RadiographyLayer::GetExtent() const | 241 Extent2D RadiographyLayer::GetExtent() const |
237 { | 242 { |