SphereStudio.Plugins.SoundPicker.trackNameLabel_Paint C# (CSharp) Method

trackNameLabel_Paint() private method

private trackNameLabel_Paint ( object sender, PaintEventArgs e ) : void
sender object
e PaintEventArgs
return void
        private void trackNameLabel_Paint(object sender, PaintEventArgs e)
        {
            if (_music == null) return;

            int width = trackNameLabel.Width;
            int height = trackNameLabel.Height;
            double delta = _music.Position / (double)_music.Length;

            e.Graphics.Clear(Color.Black);
            e.Graphics.FillRectangle(_trackBackColor, 0, 0, (int)(delta * width), height);
            e.Graphics.FillRectangle(_trackForeColor, (int)(delta * width), 0, 2, height);

            SizeF textsize = e.Graphics.MeasureString(trackNameLabel.Text, trackNameLabel.Font);
            int x = width / 2 - (int)textsize.Width / 2;
            int y = trackNameLabel.Height / 2 - (int)textsize.Height / 2;

            e.Graphics.DrawString(trackNameLabel.Text, trackNameLabel.Font, Brushes.Black, x + 1, y + 1);
            e.Graphics.DrawString(trackNameLabel.Text, trackNameLabel.Font, _trackForeColor, x, y);
        }