using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
namespace DevComponents.DotNetBar.Rendering
{
    /// 
    /// Defines color table for the SwitchButton control.
    /// 
    public class SwitchButtonColorTable
    {
        /// 
        /// Gets or set the text/caption color.
        /// 
        public Color TextColor = ColorScheme.GetColor(0x1E395B);
        /// 
        /// Gets or sets the OFF text color.
        /// 
        public Color OffTextColor = ColorScheme.GetColor(0x66788E);
        /// 
        /// Gets or sets the ON text color.
        /// 
        public Color OnTextColor = ColorScheme.GetColor(0x66788E);
        /// 
        /// Gets or sets the button border color.
        /// 
        public Color BorderColor = ColorScheme.GetColor(0xB1C0D6);
        /// 
        /// Gets or sets background color of OFF switch part.
        /// 
        public Color OffBackColor = ColorScheme.GetColor(0xEFF6FD);
        /// 
        /// Gets or sets background color of ON switch part.
        /// 
        public Color OnBackColor = ColorScheme.GetColor(0x92D050);
        /// 
        /// Gets or sets the switch border color.
        /// 
        public Color SwitchBorderColor = ColorScheme.GetColor(0x95A8C4);
        /// 
        /// Gets or sets the switch background color.
        /// 
        public Color SwitchBackColor = ColorScheme.GetColor(0xDBE7F4);
        /// 
        /// Gets or sets the switch background color when in ON state, i.e. Value=true. When set to Color.Empty SwitchBackColor is always used.
        /// 
        public Color SwitchOnBackColor = Color.Empty;
        /// 
        /// Gets default disabled color scheme for the switch button.
        /// 
        public static SwitchButtonColorTable Disabled
        {
            get
            {
                SwitchButtonColorTable disabled = new SwitchButtonColorTable();
                disabled.BorderColor = ColorScheme.GetColor(0xD0D0D0);
                disabled.OffBackColor = ColorScheme.GetColor(0xE6E6E6);
                disabled.OffTextColor = ColorScheme.GetColor(0xD0D0D0);
                disabled.OnBackColor = ColorScheme.GetColor(0xE6E6E6);
                disabled.OnTextColor = ColorScheme.GetColor(0xD0D0D0);
                disabled.SwitchBackColor = ColorScheme.GetColor(0xE6E6E6);
                disabled.SwitchBorderColor = ColorScheme.GetColor(0xD0D0D0);
                disabled.TextColor = ColorScheme.GetColor(0x87929F);
                return disabled;
            }
        }
    }
    public class SwitchButtonColors
    {
        /// 
        /// Gets or sets default Switch Button color table.
        /// 
        public SwitchButtonColorTable Default = new SwitchButtonColorTable();
        /// 
        /// Gets or sets the disabled Switch Button color table.
        /// 
        public SwitchButtonColorTable Disabled = SwitchButtonColorTable.Disabled;
    }
}