// 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
}