System.Windows.Forms.MathHelper.FloatLerp C# (CSharp) Method

FloatLerp() public static method

Linear interpolation between two values.
public static FloatLerp ( float from_value, float to_value, float speed ) : float
from_value float
to_value float
speed float
return float
        public static float FloatLerp(float from_value, float to_value, float speed)
        {
            return from_value + (to_value - from_value) * speed * Application.DeltaTime;
        }

Usage Example

Example #1
0
        protected override void OnLatePaint(PaintEventArgs e)
        {
            base.OnLatePaint(e);

            e.Graphics.DrawRectangle(new Pen(BorderColor), 0, 0, Width, Height);

            /*if (!AlwaysFocused && !Focused)
             *  e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(64, 180, 180, 180)), 0, 0, Width, Height);*/

            var g = e.Graphics;

            #region Show resize.
            if (HighlightResizeBorders && !ResizeIcon)
            {
                if (ClientRectangle.Contains(PointToClient(MousePosition)))
                {
                    if (_resizeShow == DNDResizeType.None)
                    {
                        _resizeAlpha = MathHelper.FloatLerp(_resizeAlpha, 0, 1);
                    }
                    else
                    {
                        _resizeAlpha = MathHelper.FloatLerp(_resizeAlpha, 255, 1);
                    }
                }
                else
                {
                    _resizeAlpha = MathHelper.FloatLerp(_resizeAlpha, 0, 1);
                }

                //SolidBrush resizeBrush = new SolidBrush(Color.FromArgb((int)_resizeAlpha, 8, 122, 204));
                if (_resizeAlpha > 0)
                {
                    switch (_resizeShow)
                    {
                    case DNDResizeType.Right:
                        //g.FillRectangle(resizeBrush, Width - _resizeOffset, 0, _resizeOffset, Height);
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowRight,
                            Width - ApplicationBehaviour.Resources.Images.ArrowRight.width,
                            Height / 2 - ApplicationBehaviour.Resources.Images.ArrowRight.height / 2,
                            ApplicationBehaviour.Resources.Images.ArrowRight.width,
                            ApplicationBehaviour.Resources.Images.ArrowRight.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White));
                        break;

                    case DNDResizeType.RightDown:
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowRight,
                            Width - ApplicationBehaviour.Resources.Images.ArrowRight.width,
                            Height / 2 - ApplicationBehaviour.Resources.Images.ArrowRight.height / 2,
                            ApplicationBehaviour.Resources.Images.ArrowRight.width,
                            ApplicationBehaviour.Resources.Images.ArrowRight.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowDown,
                            Width / 2 - ApplicationBehaviour.Resources.Images.ArrowDown.width / 2,
                            Height - ApplicationBehaviour.Resources.Images.ArrowDown.height,
                            ApplicationBehaviour.Resources.Images.ArrowDown.width,
                            ApplicationBehaviour.Resources.Images.ArrowDown.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        //g.FillRectangle(resizeBrush, Width - _resizeOffset, 0, _resizeOffset, Height - _resizeOffset);
                        //g.FillRectangle(resizeBrush, 0, Height - _resizeOffset, Width, _resizeOffset);
                        break;

                    case DNDResizeType.Down:
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowDown,
                            Width / 2 - ApplicationBehaviour.Resources.Images.ArrowDown.width / 2,
                            Height - ApplicationBehaviour.Resources.Images.ArrowDown.height,
                            ApplicationBehaviour.Resources.Images.ArrowDown.width,
                            ApplicationBehaviour.Resources.Images.ArrowDown.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        //g.FillRectangle(resizeBrush, 0, Height - _resizeOffset, Width, _resizeOffset);
                        break;

                    case DNDResizeType.LeftDown:
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowLeft,
                            0,
                            Height / 2 - ApplicationBehaviour.Resources.Images.ArrowLeft.height / 2,
                            ApplicationBehaviour.Resources.Images.ArrowLeft.width,
                            ApplicationBehaviour.Resources.Images.ArrowLeft.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowDown,
                            Width / 2 - ApplicationBehaviour.Resources.Images.ArrowDown.width / 2,
                            Height - ApplicationBehaviour.Resources.Images.ArrowDown.height,
                            ApplicationBehaviour.Resources.Images.ArrowDown.width,
                            ApplicationBehaviour.Resources.Images.ArrowDown.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        //g.FillRectangle(resizeBrush, 0, 0, _resizeOffset, Height - _resizeOffset);
                        //g.FillRectangle(resizeBrush, 0, Height - _resizeOffset, Width, _resizeOffset);
                        break;

                    case DNDResizeType.Left:
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowLeft,
                            0,
                            Height / 2 - ApplicationBehaviour.Resources.Images.ArrowLeft.height / 2,
                            ApplicationBehaviour.Resources.Images.ArrowLeft.width,
                            ApplicationBehaviour.Resources.Images.ArrowLeft.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        //g.FillRectangle(resizeBrush, 0, 0, _resizeOffset, Height);
                        break;

                    case DNDResizeType.LeftUp:
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowLeft,
                            0,
                            Height / 2 - ApplicationBehaviour.Resources.Images.ArrowLeft.height / 2,
                            ApplicationBehaviour.Resources.Images.ArrowLeft.width,
                            ApplicationBehaviour.Resources.Images.ArrowLeft.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowUp,
                            Width / 2 - ApplicationBehaviour.Resources.Images.ArrowUp.width / 2,
                            0,
                            ApplicationBehaviour.Resources.Images.ArrowUp.width,
                            ApplicationBehaviour.Resources.Images.ArrowUp.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        //g.FillRectangle(resizeBrush, 0, _resizeOffset, _resizeOffset, Height - _resizeOffset);
                        //g.FillRectangle(resizeBrush, 0, 0, Width, _resizeOffset);
                        break;

                    case DNDResizeType.Up:
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowUp,
                            Width / 2 - ApplicationBehaviour.Resources.Images.ArrowUp.width / 2,
                            0,
                            ApplicationBehaviour.Resources.Images.ArrowUp.width,
                            ApplicationBehaviour.Resources.Images.ArrowUp.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        //g.FillRectangle(resizeBrush, 0, 0, Width, _resizeOffset);
                        break;

                    case DNDResizeType.RightUp:
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowRight,
                            Width - ApplicationBehaviour.Resources.Images.ArrowRight.width,
                            Height / 2 - ApplicationBehaviour.Resources.Images.ArrowRight.height / 2,
                            ApplicationBehaviour.Resources.Images.ArrowRight.width,
                            ApplicationBehaviour.Resources.Images.ArrowRight.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White));
                        g.DrawTexture(
                            ApplicationBehaviour.Resources.Images.ArrowUp,
                            Width / 2 - ApplicationBehaviour.Resources.Images.ArrowUp.width / 2,
                            0,
                            ApplicationBehaviour.Resources.Images.ArrowUp.width,
                            ApplicationBehaviour.Resources.Images.ArrowUp.height,
                            Color.FromArgb((int)_resizeAlpha, Color.White)
                            );
                        //g.FillRectangle(resizeBrush, Width - _resizeOffset, _resizeOffset, _resizeOffset, Height - _resizeOffset);
                        //g.FillRectangle(resizeBrush, 0, 0, Width, _resizeOffset);
                        break;
                    }
                }
            }
            #endregion
        }