49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
using System;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
using System.ComponentModel;
|
|
|
|
namespace DevComponents.WinForms.Drawing
|
|
{
|
|
/// <summary>
|
|
/// Defines a visual shape.
|
|
/// </summary>
|
|
internal abstract class Shape
|
|
{
|
|
#region Internal Implementation
|
|
/// <summary>
|
|
/// Renders shape on canvas.
|
|
/// </summary>
|
|
/// <param name="g">Target graphics to render shape on.</param>
|
|
/// <param name="bounds">Shape bounds.</param>
|
|
public abstract void Paint(Graphics g, Rectangle bounds);
|
|
|
|
private Shape _Content = null;
|
|
/// <summary>
|
|
/// Gets or sets the single piece of content inside of the shape.
|
|
/// </summary>
|
|
[DefaultValue(null)]
|
|
public Shape Content
|
|
{
|
|
get { return _Content; }
|
|
set { _Content = value; }
|
|
}
|
|
|
|
private bool _ClipToBounds = false;
|
|
/// <summary>
|
|
/// Gets or sets whether to clip the Content of this shape. Default value is false.
|
|
/// </summary>
|
|
[DefaultValue(false)]
|
|
public bool ClipToBounds
|
|
{
|
|
get { return _ClipToBounds; }
|
|
set
|
|
{
|
|
_ClipToBounds = value;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|