File BaseElement.cs
File List > Elements > BaseElement.cs
Go to the documentation of this file
using System.Drawing;
using LemonUI.Tools;
namespace LemonUI.Elements
{
public abstract class BaseElement : I2Dimensional
{
#region Fields
protected internal PointF literalPosition = PointF.Empty;
protected internal PointF relativePosition = PointF.Empty;
protected internal SizeF literalSize = SizeF.Empty;
protected internal SizeF relativeSize = SizeF.Empty;
#endregion
#region Properties
public virtual PointF Position
{
get => literalPosition;
set
{
literalPosition = value;
Recalculate();
}
}
public virtual SizeF Size
{
get => literalSize;
set
{
literalSize = value;
Recalculate();
}
}
public virtual Color Color { get; set; } = Color.FromArgb(255, 255, 255, 255);
public virtual float Heading { get; set; } = 0;
#endregion
#region Constructors
public BaseElement(PointF pos, SizeF size)
{
literalPosition = pos;
literalSize = size;
Recalculate();
}
#endregion
#region Functions
public virtual void Recalculate()
{
relativePosition = literalPosition.ToRelative();
relativeSize = literalSize.ToRelative();
}
public abstract void Draw();
#endregion
}
}