Browse Source

Fixed rotation overlay not test hitting when rotated

flabbet 8 months ago
parent
commit
7da0a3396c

+ 3 - 1
src/PixiEditor/Views/Overlays/TransformOverlay/TransformOverlay.cs

@@ -586,7 +586,7 @@ internal class TransformOverlay : Overlay
     {
     {
         const double offsetInPixels = 30;
         const double offsetInPixels = 30;
         double offsetToScale = offsetInPixels / ZoomScale;
         double offsetToScale = offsetInPixels / ZoomScale;
-        ShapeCorners scaled = Corners;
+        ShapeCorners scaled = Corners.AsRotated(-Corners.RectRotation, Corners.RectCenter);
         ShapeCorners scaledCorners = new ShapeCorners()
         ShapeCorners scaledCorners = new ShapeCorners()
         {
         {
             BottomLeft = scaled.BottomLeft - new VecD(offsetToScale, -offsetToScale),
             BottomLeft = scaled.BottomLeft - new VecD(offsetToScale, -offsetToScale),
@@ -594,6 +594,8 @@ internal class TransformOverlay : Overlay
             TopLeft = scaled.TopLeft - new VecD(offsetToScale, offsetToScale),
             TopLeft = scaled.TopLeft - new VecD(offsetToScale, offsetToScale),
             TopRight = scaled.TopRight - new VecD(-offsetToScale, offsetToScale),
             TopRight = scaled.TopRight - new VecD(-offsetToScale, offsetToScale),
         };
         };
+        
+        scaledCorners = scaledCorners.AsRotated(Corners.RectRotation, Corners.RectCenter);
 
 
         return base.TestHit(point) || scaledCorners.IsPointInside(point);
         return base.TestHit(point) || scaledCorners.IsPointInside(point);
     }
     }