Files
SlaveMatrix-SDL/2DGAMELIB/_2DGAMELIB/Rect.cs
2025-05-07 10:45:18 -07:00

49 lines
997 B
C#

namespace _2DGAMELIB
{
public class Rect
{
public double XRatio = 1.0;
public double YRatio = 1.0;
public double Size = 1.0;
public double LocalWidth => XRatio * Size;
public double LocalHeight => YRatio * Size;
public Vector2D LocalCenter => new Vector2D(LocalWidth * 0.5, LocalHeight * 0.5);
public Rect()
{
}
public Rect(double XRatio, double YRatio, double Size)
{
SetXYRatio(XRatio, YRatio);
this.Size = Size;
}
public void SetXYRatio(double X, double Y)
{
XRatio = X / Y;
YRatio = 1.0;
}
public Vector2D GetPosition(double X, double Y)
{
return new Vector2D(LocalWidth * X, LocalHeight * Y);
}
public Vector2D GetPosition(Vector2D p)
{
return new Vector2D(LocalWidth * p.X, LocalHeight * p.Y);
}
public Vector2D GetPosition(ref Vector2D p)
{
return new Vector2D(LocalWidth * p.X, LocalHeight * p.Y);
}
}
}