public ColorButtonValues(NeedPaintHandler needPaint)
{
// Store the provided paint notification delegate
NeedPaint = needPaint;
// Set initial values
_image = _defaultImage;
_transparent = Color.Empty;
_text = _defaultText;
_extraText = _defaultExtraText;
_imageStates = CreateImageStates();
_imageStates.NeedPaint = needPaint;
_emptyBorderColor = Color.Gray;
_selectedColor = Color.Red;
_selectedRect = new Rectangle(0, 12, 16, 4);
}