using System;
using System.Text;
using System.Drawing;
using System.ComponentModel;
namespace DevComponents.WinForms.Drawing
{
public class SolidBorder : Border
{
#region Constructor
///
/// Initializes a new instance of the SolidBorder class.
///
///
///
public SolidBorder(Color color, int width)
{
_Color = color;
_Width = width;
}
///
/// Initializes a new instance of the SolidBorder class.
///
///
public SolidBorder(Color color)
{
_Color = color;
}
///
/// Initializes a new instance of the SolidBorder class.
///
public SolidBorder()
{
}
#endregion
#region Internal Implementation
///
/// Creates the pen for the border.
///
/// Returns pen or null if pen cannot be created.
public override Pen CreatePen()
{
if (!CanCreatePen()) return null;
return new Pen(_Color, _Width);
}
private bool CanCreatePen()
{
return !_Color.IsEmpty && _Width > 0;
}
private Color _Color = Color.Empty;
///
/// Gets or sets the fill color.
///
[Description("Indicates the fill color.")]
public Color Color
{
get { return _Color; }
set { _Color = value; }
}
///
/// Gets whether property should be serialized.
///
/// true if property should be serialized
[EditorBrowsable(EditorBrowsableState.Never)]
public bool ShouldSerializeColor()
{
return !_Color.IsEmpty;
}
///
/// Sets the property to its default value.
///
[EditorBrowsable(EditorBrowsableState.Never)]
public void ResetColor()
{
Color = Color.Empty;
}
#endregion
}
}