using RyzStudio.Drawing;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;

namespace RyzStudio.Windows.ThemedForms
{
    public partial class TProgressBar : RyzStudio.Windows.ThemedForms.TUserControl
	{
        protected readonly Padding textboxPadding = new Padding(2, 2, 2, 2);


		public TProgressBar() : base()
        {
            InitializeComponent();

            this.Margin = new Padding(10, 6, 10, 6);
            this.Font = new Font(this.Font, FontStyle.Regular);

            customProgressBar1.Font = this.Font;
        }

        protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);

            this.Invalidate();
        }

        [Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
		[Category("Appearance")]
		public RyzStudio.Windows.Forms.TCustomProgressBar InnerControl { get => customProgressBar1; set => customProgressBar1 = value; }

        [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
        public new Padding Margin { get => base.Margin; set => base.Margin = value; }

        protected override void updateBackground(Graphics g, ThemeStyle style)
        {
            int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;

            this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom));

            Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth);
            g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath());
            g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath());
        }

    }
}