Blue.Windows.StickyWindow.Move_Stick C# (CSharp) Метод

Move_Stick() приватный Метод

private Move_Stick ( Rectangle toRect, bool bInsideStick ) : void
toRect System.Drawing.Rectangle Rect to try to snap to
bInsideStick bool Allow snapping on the inside (eg: window to screen)
Результат void
        private void Move_Stick( Rectangle toRect, bool bInsideStick )
        {
            // compare distance from toRect to formRect
            // and then with the found distances, compare the most closed position
            if ( formRect.Bottom >= (toRect.Top - stickGap) && formRect.Top <= (toRect.Bottom + stickGap) )
            {
                if ( bInsideStick )
                {
                    if ( (Math.Abs(formRect.Left - toRect.Right) <= Math.Abs(formOffsetPoint.X) ) )
                    {	// left 2 right
                        formOffsetPoint.X = toRect.Right - formRect.Left;
                    }
                    if ( (Math.Abs(formRect.Left + formRect.Width - toRect.Left) <= Math.Abs(formOffsetPoint.X) ) )
                    {	// right 2 left
                        formOffsetPoint.X = toRect.Left - formRect.Width - formRect.Left;
                    }
                }

                if ( Math.Abs(formRect.Left - toRect.Left) <= Math.Abs(formOffsetPoint.X) )
                {	// snap left 2 left
                    formOffsetPoint.X = toRect.Left - formRect.Left;
                }
                if ( Math.Abs(formRect.Left + formRect.Width - toRect.Left - toRect.Width ) <= Math.Abs(formOffsetPoint.X))
                {	// snap right 2 right
                    formOffsetPoint.X = toRect.Left + toRect.Width - formRect.Width - formRect.Left;
                }
            }
            if ( formRect.Right >= (toRect.Left - stickGap) && formRect.Left <= (toRect.Right + stickGap) )
            {
                if ( bInsideStick )
                {
                    if (Math.Abs(formRect.Top - toRect.Bottom) <= Math.Abs(formOffsetPoint.Y) && bInsideStick )
                    {	// Stick Top to Bottom
                        formOffsetPoint.Y = toRect.Bottom - formRect.Top;
                    }
                    if (Math.Abs(formRect.Top + formRect.Height - toRect.Top) <= Math.Abs(formOffsetPoint.Y) && bInsideStick )
                    {	// snap Bottom to Top
                        formOffsetPoint.Y =  toRect.Top - formRect.Height - formRect.Top;
                    }
                }

                // try to snap top 2 top also
                if (Math.Abs(formRect.Top - toRect.Top) <= Math.Abs(formOffsetPoint.Y))
                {	// top 2 top
                    formOffsetPoint.Y =  toRect.Top - formRect.Top;
                }
                if ( Math.Abs(formRect.Top + formRect.Height - toRect.Top - toRect.Height ) <= Math.Abs(formOffsetPoint.Y))
                {	// bottom 2 bottom
                    formOffsetPoint.Y =  toRect.Top + toRect.Height - formRect.Height - formRect.Top;
                }
            }
        }