Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Compatibility/Core/src/iOS/Renderers/BoxRenderer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class BoxRenderer : VisualElementRenderer<BoxView>
nfloat _bottomLeft;
nfloat _bottomRight;

const float PI = (float)Math.PI;
const float PI = MathF.PI;
const float PIAndAHalf = PI * 1.5f;
const float HalfPI = PI * .5f;
const float TwoPI = PI * 2;
Expand Down
6 changes: 3 additions & 3 deletions src/Compatibility/Core/src/iOS/VisualElementTracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -322,11 +322,11 @@ void update()
transform.M34 = 1.0f / -400f;

if (Math.Abs(rotationX % 360) > epsilon)
transform = transform.Rotate(rotationX * (float)Math.PI / 180.0f, 1.0f, 0.0f, 0.0f);
transform = transform.Rotate(rotationX * MathF.PI / 180.0f, 1.0f, 0.0f, 0.0f);
if (Math.Abs(rotationY % 360) > epsilon)
transform = transform.Rotate(rotationY * (float)Math.PI / 180.0f, 0.0f, 1.0f, 0.0f);
transform = transform.Rotate(rotationY * MathF.PI / 180.0f, 0.0f, 1.0f, 0.0f);

transform = transform.Rotate(rotation * (float)Math.PI / 180.0f, 0.0f, 0.0f, 1.0f);
transform = transform.Rotate(rotation * MathF.PI / 180.0f, 0.0f, 0.0f, 1.0f);

if (Math.Abs(scaleX - 1) > epsilon || Math.Abs(scaleY - 1) > epsilon)
transform = transform.Scale(scaleX, scaleY, scale);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ void UpdateInteractions(string name, TouchEventArgs e)
{
Dispatcher.DispatchAsync(() =>
labelInteractions.Text = $"{name}: "
+ string.Join(", ", e.Touches.Select(t => $"[{Math.Round(t.X, 1)},{Math.Round(t.Y, 1)}]"))
+ string.Join(", ", e.Touches.Select(t => $"[{MathF.Round(t.X, 1)},{MathF.Round(t.Y, 1)}]"))
+ $" IsInsideBounds: {e.IsInsideBounds}");

Dispatcher.DispatchAsync(() =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public override void Draw(Canvas canvas)
float centerY = (float)_center.Y;

float width = bounds.Width();
float distanceFromCenter = (float)Math.Abs(width / 2 - _center.X);
float distanceFromCenter = MathF.Abs(width / 2 - _center.X);
float radius = (width / 2 + distanceFromCenter) * 1.1f;

var paint = new Paint
Expand Down
2 changes: 1 addition & 1 deletion src/Core/src/Platform/Android/PlatformTouchGraphicsView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public void TouchesMoved(PointF[] points)
float deltaX = _lastMovedViewPoints[0].X - points[0].X;
float deltaY = _lastMovedViewPoints[0].Y - points[0].Y;

if (Math.Abs(deltaX) <= 3 && Math.Abs(deltaY) <= 3)
if (MathF.Abs(deltaX) <= 3 && MathF.Abs(deltaY) <= 3)
return;
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/Core/src/Platform/Tizen/PlatformTouchGraphicsView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ void TouchesMoved(PointF[] points)
float deltaX = _lastMovedViewPoints[0].X - points[0].X;
float deltaY = _lastMovedViewPoints[0].Y - points[0].Y;

if (Math.Abs(deltaX) <= 3 && Math.Abs(deltaY) <= 3)
if (MathF.Abs(deltaX) <= 3 && MathF.Abs(deltaY) <= 3)
return;
}
}
Expand Down
5 changes: 4 additions & 1 deletion src/Core/src/Platform/Windows/ContentPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@
using System.Numerics;
using Microsoft.Graphics.Canvas;
using Microsoft.Maui.Graphics;
using Microsoft.Maui.Graphics.Platform;
#if MAUI_GRAPHICS_WIN2D
using Microsoft.Maui.Graphics.Win2D;
#else
using Microsoft.Maui.Graphics.Platform;
#endif
using Microsoft.UI.Composition;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Hosting;
Expand Down
2 changes: 1 addition & 1 deletion src/Core/src/Platform/Windows/GraphicsExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public static PathGeometry AsPathGeometry(this PathF target, float scale = 1)
}

var sweep = GeometryUtil.GetSweep(startAngle, endAngle, clockwise);
var absSweep = Math.Abs(sweep);
var absSweep = MathF.Abs(sweep);

var rectX = topLeft.X * scale;
var rectY = topLeft.Y * scale;
Expand Down
5 changes: 4 additions & 1 deletion src/Core/src/Platform/Windows/WrapperView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@
using System.Threading.Tasks;
using Microsoft.Graphics.Canvas;
using Microsoft.Maui.Graphics;
using Microsoft.Maui.Graphics.Platform;
#if MAUI_GRAPHICS_WIN2D
using Microsoft.Maui.Graphics.Win2D;
#else
using Microsoft.Maui.Graphics.Platform;
#endif
using Microsoft.UI.Composition;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
Expand Down
6 changes: 3 additions & 3 deletions src/Core/src/Platform/iOS/TransformationExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ void Update()
transform.M34 = 1.0f / -400f;

if (Math.Abs(rotationX % 360) > epsilon)
transform = transform.Rotate(rotationX * (float)Math.PI / 180.0f, 1.0f, 0.0f, 0.0f);
transform = transform.Rotate(rotationX * MathF.PI / 180.0f, 1.0f, 0.0f, 0.0f);

if (Math.Abs(rotationY % 360) > epsilon)
transform = transform.Rotate(rotationY * (float)Math.PI / 180.0f, 0.0f, 1.0f, 0.0f);
transform = transform.Rotate(rotationY * MathF.PI / 180.0f, 0.0f, 1.0f, 0.0f);

transform = transform.Rotate(rotation * (float)Math.PI / 180.0f, 0.0f, 0.0f, 1.0f);
transform = transform.Rotate(rotation * MathF.PI / 180.0f, 0.0f, 0.0f, 1.0f);

if (Math.Abs(scaleX - 1) > epsilon || Math.Abs(scaleY - 1) > epsilon)
transform = transform.Scale(scaleX, scaleY, scale);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public async Task RotationInitializeCorrectly(float rotation)

var transform = await GetLayerTransformAsync(view);

var expected = CATransform3D.MakeRotation(rotation * (float)Math.PI / 180.0f, 0, 0, 1);
var expected = CATransform3D.MakeRotation(rotation * MathF.PI / 180.0f, 0, 0, 1);

expected.AssertEqual(transform);
}
Expand Down
10 changes: 5 additions & 5 deletions src/Essentials/src/Compass/LowPassFilter.shared.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,27 @@ class LowPassFilter

internal void Add(float radians)
{
sin += (float)Math.Sin(radians);
sin += MathF.Sin(radians);

cos += (float)Math.Cos(radians);
cos += MathF.Cos(radians);

history.Enqueue(radians);

if (history.Count > length)
{
var old = history.Dequeue();

sin -= (float)Math.Sin(old);
sin -= MathF.Sin(old);

cos -= (float)Math.Cos(old);
cos -= MathF.Cos(old);
}
}

internal float Average()
{
var size = history.Count;

return (float)Math.Atan2(sin / size, cos / size);
return MathF.Atan2(sin / size, cos / size);
}
}
}
2 changes: 1 addition & 1 deletion src/Graphics/src/Graphics.Skia/SKGraphicsExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public static SKRect AsSKRect(this RectF target)

public static RectF AsRectangleF(this SKRect target)
{
return new RectF(target.Left, target.Top, Math.Abs(target.Right - target.Left), Math.Abs(target.Bottom - target.Top));
return new RectF(target.Left, target.Top, MathF.Abs(target.Right - target.Left), MathF.Abs(target.Bottom - target.Top));
}

public static SKPoint ToSKPoint(this PointF target)
Expand Down
2 changes: 1 addition & 1 deletion src/Graphics/src/Graphics.Skia/SkiaImage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ public void Dispose()

public void Draw(ICanvas canvas, RectF dirtyRect)
{
canvas.DrawImage(this, dirtyRect.Left, dirtyRect.Top, (float)Math.Round(dirtyRect.Width), (float)Math.Round(dirtyRect.Height));
canvas.DrawImage(this, dirtyRect.Left, dirtyRect.Top, MathF.Round(dirtyRect.Width), MathF.Round(dirtyRect.Height));
}

public IImage ToPlatformImage()
Expand Down
22 changes: 11 additions & 11 deletions src/Graphics/src/Graphics/GeometryUtil.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@ public static float GetDistance(float x1, float y1, float x2, float y2)
var a = x2 - x1;
var b = y2 - y1;

return (float)Math.Sqrt(a * a + b * b);
return MathF.Sqrt(a * a + b * b);
}

public static float GetAngleAsDegrees(float x1, float y1, float x2, float y2)
{
var dx = x1 - x2;
var dy = y1 - y2;

var radians = (float)Math.Atan2(dy, dx);
var degrees = radians * 180.0f / (float)Math.PI;
var radians = MathF.Atan2(dy, dx);
var degrees = radians * 180.0f / MathF.PI;

return 180 - degrees;
}

public static float DegreesToRadians(float angle)
{
return (float)Math.PI * angle / 180;
return MathF.PI * angle / 180;
}

public static double DegreesToRadians(double angle)
Expand All @@ -37,7 +37,7 @@ public static double DegreesToRadians(double angle)

public static float RadiansToDegrees(float angle)
{
return angle * (180 / (float)Math.PI);
return angle * (180 / MathF.PI);
}

public static double RadiansToDegrees(double angle)
Expand All @@ -49,17 +49,17 @@ public static PointF RotatePoint(PointF point, float angle)
{
var radians = DegreesToRadians(angle);

var x = (float)(Math.Cos(radians) * point.X - Math.Sin(radians) * point.Y);
var y = (float)(Math.Sin(radians) * point.X + Math.Cos(radians) * point.Y);
var x = MathF.Cos(radians) * point.X - MathF.Sin(radians) * point.Y;
var y = MathF.Sin(radians) * point.X + MathF.Cos(radians) * point.Y;

return new PointF(x, y);
}

public static PointF RotatePoint(PointF center, PointF point, float angle)
{
var radians = DegreesToRadians(angle);
var x = center.X + (float)(Math.Cos(radians) * (point.X - center.X) - Math.Sin(radians) * (point.Y - center.Y));
var y = center.Y + (float)(Math.Sin(radians) * (point.X - center.X) + Math.Cos(radians) * (point.Y - center.Y));
var x = center.X + MathF.Cos(radians) * (point.X - center.X) - MathF.Sin(radians) * (point.Y - center.Y);
var y = center.Y + MathF.Sin(radians) * (point.X - center.X) + MathF.Cos(radians) * (point.Y - center.Y);
return new PointF(x, y);
}

Expand Down Expand Up @@ -91,8 +91,8 @@ public static float GetSweep(float angle1, float angle2, bool clockwise)

public static PointF PolarToPoint(float angleInRadians, float fx, float fy)
{
var sin = (float)Math.Sin(angleInRadians);
var cos = (float)Math.Cos(angleInRadians);
var sin = MathF.Sin(angleInRadians);
var cos = MathF.Cos(angleInRadians);
return new PointF(fx * cos, fy * sin);
}

Expand Down
46 changes: 46 additions & 0 deletions src/Graphics/src/Graphics/MathF.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

#if NETSTANDARD2_0

using System.Diagnostics;
using System.Numerics;
using System.Runtime.CompilerServices;

namespace System;

internal static class MathF
{
public const float PI = 3.14159265f;

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Abs(float value) => Math.Abs(value);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Acos(float d) => (float)Math.Acos(d);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Atan2(float y, float x) => (float)Math.Atan2(y, x);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Ceiling(float a) => (float)Math.Ceiling(a);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Cos(float d) => (float)Math.Cos(d);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Pow(float x, float y) => (float)Math.Pow(x, y);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Round(float x, int digits) => (float)Math.Round(x, digits);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Round(float x) => (float)Math.Round(x);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Sin(float a) => (float)Math.Sin(a);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float Sqrt(float d) => (float)Math.Sqrt(d);
}
#endif
12 changes: 6 additions & 6 deletions src/Graphics/src/Graphics/Matrix3x2Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public static Vector2 GetScale(this in Matrix3x2 matrix)

public static float GetRotation(this in Matrix3x2 matrix)
{
return (float)Math.Atan2(matrix.M12, matrix.M11);
return MathF.Atan2(matrix.M12, matrix.M11);
}

public static Vector2 GetTranslation(this in Matrix3x2 matrix)
Expand Down Expand Up @@ -141,8 +141,8 @@ internal static Matrix3x2 CreateMatrix3x2(Vector2 scale, float rotation, Vector2
public static float GetLengthScale(this in Matrix3x2 matrix)
{
var determinant = matrix.GetDeterminant();
var areaScale = Math.Abs(determinant);
return (float)Math.Sqrt(areaScale);
var areaScale = MathF.Abs(determinant);
return MathF.Sqrt(areaScale);
}

public static void CopyTo(this in Matrix3x2 matrix, float[] dst, int offset = 0, int count = 6)
Expand All @@ -163,9 +163,9 @@ public static void CopyTo(this in Matrix3x2 matrix, float[] dst, int offset = 0,
public static void DeconstructScales(this in Matrix3x2 value, out float scale, out float scalex, out float scaley)
{
var det = value.GetDeterminant();
scale = (float)Math.Sqrt(Math.Abs(det));
scalex = value.M12 == 0 ? Math.Abs(value.M11) : new Vector2(value.M11, value.M12).Length();
scaley = value.M21 == 0 ? Math.Abs(value.M22) : new Vector2(value.M21, value.M22).Length();
scale = MathF.Sqrt(MathF.Abs(det));
scalex = value.M12 == 0 ? MathF.Abs(value.M11) : new Vector2(value.M11, value.M12).Length();
scaley = value.M21 == 0 ? MathF.Abs(value.M22) : new Vector2(value.M21, value.M22).Length();
if (det < 0)
scaley = -scaley;
}
Expand Down
Loading