using System;
using System.Text;
using System.Drawing;
namespace DevComponents.DotNetBar.Rendering
{
    /// 
    /// Represents a color table for ButtonItem in certain state like but not limited to mouse over, checked or pressed.
    /// 
    public class Office2007ButtonItemStateColorTable
    {
        #region Internal Implementation
        /// 
        /// Gets or sets the outer border colors.
        /// 
        public LinearGradientColorTable OuterBorder = new LinearGradientColorTable();
        /// 
        /// Gets or sets the outer border width. Default is 1.
        /// 
        public int OuterBorderWidth = 1;
        /// 
        /// Gets or sets the inner border colors.
        /// 
        public LinearGradientColorTable InnerBorder = new LinearGradientColorTable();
        /// 
        /// Gets or sets top part background colors.
        /// 
        public LinearGradientColorTable TopBackground = new LinearGradientColorTable();
        /// 
        /// Gets or sets highlight colors for the top background part.
        /// 
        public LinearGradientColorTable TopBackgroundHighlight = new LinearGradientColorTable();
        /// 
        /// Gets or sets bottom part background colors.
        /// 
        public LinearGradientColorTable BottomBackground = new LinearGradientColorTable();
        /// 
        /// Gets or sets highlight colors for the bottom background part.
        /// 
        public LinearGradientColorTable BottomBackgroundHighlight = new LinearGradientColorTable();
        /// 
        /// Gets or sets the split border colors that divides button text and image from expand part of the button.
        /// 
        public LinearGradientColorTable SplitBorder = new LinearGradientColorTable();
        /// 
        /// Gets or sets the split border light colors that divides button text and image from expand part of the button.
        /// 
        public LinearGradientColorTable SplitBorderLight = new LinearGradientColorTable();
        /// 
        /// Gets or sets the text color.
        /// 
        public Color Text = Color.Empty;
        /// 
        /// Gets or sets the background color of the expand sign.
        /// 
        public Color ExpandBackground = Color.Empty;
        /// 
        /// Gets or sets the outline light color of the expand sign.
        /// 
        public Color ExpandLight = Color.Empty;
        /// 
        /// Gets or sets the single gradient background for the button. When specified it is used instead of TopBackground and BottomBackground for rendering.
        /// 
        public LinearGradientColorTable Background = null;
        #endregion
    }
}