diff --git a/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/ManipulationSequence.cs b/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/ManipulationSequence.cs index 6fa348ae4a4..63f7fd5987d 100644 --- a/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/ManipulationSequence.cs +++ b/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/ManipulationSequence.cs @@ -999,7 +999,7 @@ private void InitializeManipulationState(Int64 timestamp) /// the new expansion /// the new orientation /// the time of the new values - private void OverwriteManipulationState(PointF position, float scale, float expansion, float orientation, Int64 timestamp) + private void OverwriteManipulationState(in PointF position, float scale, float expansion, float orientation, Int64 timestamp) { this.currentManipulationState = new ManipulationState(position, scale, expansion, orientation, timestamp); #if DEBUG @@ -1033,7 +1033,7 @@ private PointF GetAveragePoint() /// /// the common point of reference /// manipulation settings - private void SetVectorsFromPoint(PointF referenceOrigin, ISettings settings) + private void SetVectorsFromPoint(in PointF referenceOrigin, ISettings settings) { Debug.Assert(this.manipulatorStates != null && this.manipulatorStates.Count > 0); @@ -1549,7 +1549,7 @@ private struct ManipulationState public readonly float Orientation; public Int64 Timestamp; - public ManipulationState(PointF position, float scale, float expansion, float orientation, Int64 timestamp) + public ManipulationState(in PointF position, float scale, float expansion, float orientation, Int64 timestamp) { Debug.Assert(!float.IsNaN(position.X) && !float.IsNaN(position.Y)); Debug.Assert(!float.IsInfinity(position.Y) && !float.IsInfinity(position.Y)); @@ -1589,4 +1589,4 @@ private enum ProcessorState #endregion Private Classes } -} \ No newline at end of file +} diff --git a/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/PointF.cs b/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/PointF.cs index 6b6f2ca4d31..c8230d99770 100644 --- a/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/PointF.cs +++ b/src/Microsoft.DotNet.Wpf/src/System.Windows.Input.Manipulations/System/Windows/Input/Manipulations/PointF.cs @@ -13,10 +13,10 @@ namespace System.Windows.Input.Manipulations /// two floats everywhere, but I just couldn't take it any more. A point class is just /// too nice a thing. /// - internal struct PointF + internal readonly struct PointF { - private float x; - private float y; + private readonly float x; + private readonly float y; /// /// Create a basic point structure @@ -36,7 +36,7 @@ public PointF(float x, float y) /// The point to convert. /// A VectorF structure with an X value equal to this point's X value /// and a Y value equal to this point's Y value. - public static explicit operator VectorF(PointF point) + public static explicit operator VectorF(in PointF point) { return new VectorF(point.x, point.y); } @@ -47,7 +47,7 @@ public static explicit operator VectorF(PointF point) /// /// /// - public static bool operator !=(PointF left, PointF right) + public static bool operator !=(in PointF left, in PointF right) { return left.X != right.X || left.Y != right.Y; } @@ -61,7 +61,7 @@ public static explicit operator VectorF(PointF point) /// /// /// - public static bool operator ==(PointF left, PointF right) + public static bool operator ==(in PointF left, in PointF right) { return left.X == right.X && left.Y == right.Y; } @@ -73,7 +73,7 @@ public static explicit operator VectorF(PointF point) /// The point to translate. /// The amount by which to translate the point. /// The result of translating the specified point by the specified vector. - public static PointF operator +(PointF pt, VectorF offset) + public static PointF operator +(in PointF pt, VectorF offset) { return new PointF(pt.X + offset.X, pt.Y + offset.Y); } @@ -85,7 +85,7 @@ public static explicit operator VectorF(PointF point) /// The point from which point2 is subtracted. /// The point to subtract from point1. /// The difference between point1 and point2. - public static VectorF operator -(PointF point1, PointF point2) + public static VectorF operator -(in PointF point1, in PointF point2) { return new VectorF(point1.x - point2.x, point1.y - point2.y); } @@ -97,7 +97,7 @@ public static explicit operator VectorF(PointF point) /// The point from which vector is subtracted. /// The vector to subtract from point /// The difference between point and vector. - public static PointF operator -(PointF point, VectorF vector) + public static PointF operator -(in PointF point, VectorF vector) { return new PointF(point.x - vector.X, point.y - vector.Y); }