diff Framework/Radiography/RadiographyLayer.cpp @ 658:63982c8c294a

merge am-dev -> default
author Alain Mazy <alain@mazy.be>
date Tue, 14 May 2019 18:39:50 +0200
parents 42dadae61fa9 8d66efecd91c
children 68b5688241d5
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyLayer.cpp	Tue May 14 16:54:13 2019 +0200
+++ b/Framework/Radiography/RadiographyLayer.cpp	Tue May 14 18:39:50 2019 +0200
@@ -34,6 +34,8 @@
 
   RadiographyLayer::Geometry::Geometry() :
     hasCrop_(false),
+    flipVertical_(false),
+    flipHorizontal_(false),
     panX_(0),
     panY_(0),
     angle_(0),
@@ -57,7 +59,7 @@
 
   void RadiographyLayer::UpdateTransform()
   {
-    transform_ = AffineTransform2D::CreateScaling(geometry_.GetPixelSpacingX(), geometry_.GetPixelSpacingY());
+    transform_ = AffineTransform2D::CreateScaling(geometry_.GetScalingX(), geometry_.GetScalingY());
 
     double centerX, centerY;
     GetCenter(centerX, centerY);
@@ -204,6 +206,21 @@
     BroadcastMessage(RadiographyLayer::LayerEditedMessage(*this));
   }
 
+  void RadiographyLayer::SetFlipVertical(bool flip)
+  {
+    geometry_.SetFlipVertical(flip);
+    UpdateTransform();
+
+    EmitMessage(RadiographyLayer::LayerEditedMessage(*this));
+  }
+
+  void RadiographyLayer::SetFlipHorizontal(bool flip)
+  {
+    geometry_.SetFlipHorizontal(flip);
+    UpdateTransform();
+
+    EmitMessage(RadiographyLayer::LayerEditedMessage(*this));
+  }
 
   void RadiographyLayer::SetSize(unsigned int width,
                                  unsigned int height)