// ReSharper disable EventNeverSubscribedTo.Global using System; namespace RGB.NET.Core; /// /// Represents a generic placeable element. /// public interface IPlaceable { #region Properties & Fields /// /// Gets or sets the location of the . /// Point Location { get; set; } /// /// Gets the size of the . /// Size Size { get; set; } /// /// Gets or sets the scale of the . /// Scale Scale { get; set; } /// /// Gets or sets the rotation of the . /// Rotation Rotation { get; set; } /// /// Gets the actual location of the . /// This includes the . /// Point ActualLocation { get; } /// /// Gets the actual of the . /// This includes the . /// Size ActualSize { get; } /// /// Gets a rectangle containing the whole . /// This includes , , and . /// Rectangle Boundary { get; } #endregion #region Events /// /// Occurs when the property was changed. /// event EventHandler LocationChanged; /// /// Occurs when the property was changed. /// event EventHandler SizeChanged; /// /// Occurs when the property was changed. /// event EventHandler ScaleChanged; /// /// Occurs when the property was changed. /// event EventHandler RotationChanged; /// /// Occurs when the property was changed. /// event EventHandler ActualLocationChanged; /// /// Occurs when the property was changed. /// event EventHandler ActualSizeChanged; /// /// Occurs when the property was changed. /// event EventHandler BoundaryChanged; #endregion }