浏览代码

Fixed invisible rotation and shrunk rotation cursor

flabbet 8 月之前
父节点
当前提交
17af3381e2
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      src/PixiEditor/Views/Overlays/TransformOverlay/TransformOverlay.cs

+ 8 - 2
src/PixiEditor/Views/Overlays/TransformOverlay/TransformOverlay.cs

@@ -344,7 +344,9 @@ internal class TransformOverlay : Overlay
         DrawOverlay(drawingContext, canvasBounds.Size, Corners, InternalState.Origin, (float)ZoomScale);
 
         if (capturedAnchor is null)
+        {
             UpdateSpecialCursors(lastPointerPos);
+        }
     }
 
     private void DrawOverlay
@@ -430,13 +432,17 @@ internal class TransformOverlay : Overlay
             double angle = (lastPointerPos - InternalState.Origin).Angle * 180 / Math.PI - 90;
             matrix = matrix.PostConcat(Matrix3X3.CreateRotationDegrees((float)angle, (float)lastPointerPos.X,
                 (float)lastPointerPos.Y));
-            matrix = matrix.PostConcat(Matrix3X3.CreateScale(8f / (float)ZoomScale, 8 / (float)ZoomScale,
+            matrix = matrix.PostConcat(Matrix3X3.CreateScale(7f / (float)ZoomScale, 7f / (float)ZoomScale,
                 (float)lastPointerPos.X, (float)lastPointerPos.Y));
             context.SetMatrix(context.TotalMatrix.Concat(matrix));
 
             context.DrawPath(rotateCursorGeometry, whiteFillPen);
             context.DrawPath(rotateCursorGeometry, cursorBorderPaint);
         }
+        
+        context.RestoreToCount(saved);
+        
+        saved = context.Save();
 
         if (ShowHandles && shearCursorActive)
         {
@@ -813,7 +819,7 @@ internal class TransformOverlay : Overlay
     private bool UpdateSpecialCursors(VecD mousePos)
     {
         bool canShear = CanShear(mousePos, out Anchor anchor);
-        if (!canShear || (!CanRotate(mousePos) && !isRotating) || LockRotation)
+        if ((!canShear && !CanRotate(mousePos) && !isRotating) || LockRotation)
         {
             rotationCursorActive = false;
             shearCursorActive = false;