Files
SlaveMatrix-SDL/2DGAMELIB/_2DGAMELIB/Rect.cs
lewd-alt 8fb31d38bb linting
removed some dead code and fixed a few bugs i introduced
2025-08-03 13:09:54 -07:00

47 lines
985 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);
}
}
}