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

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

private Resize_Stick ( Rectangle toRect, bool bInsideStick ) : void
toRect System.Drawing.Rectangle
bInsideStick bool
Результат void
        private void Resize_Stick( Rectangle toRect, bool bInsideStick )
        {
            if ( formRect.Right >= (toRect.Left - stickGap) && formRect.Left <= (toRect.Right + stickGap) )
            {
                if ( (resizeDirection & ResizeDir.Top) == ResizeDir.Top )
                {
                    if ( Math.Abs(formRect.Top - toRect.Bottom) <= Math.Abs(formOffsetRect.Top) && bInsideStick )
                        formOffsetRect.Y = formRect.Top - toRect.Bottom;	// snap top to bottom
                    else if (Math.Abs(formRect.Top - toRect.Top) <= Math.Abs(formOffsetRect.Top) )
                        formOffsetRect.Y = formRect.Top - toRect.Top;		// snap top to top
                }

                if ( (resizeDirection & ResizeDir.Bottom) == ResizeDir.Bottom )
                {
                    if (Math.Abs(formRect.Bottom - toRect.Top) <= Math.Abs(formOffsetRect.Bottom) && bInsideStick)
                        formOffsetRect.Height = toRect.Top - formRect.Bottom;	// snap Bottom to top
                    else if (Math.Abs(formRect.Bottom - toRect.Bottom) <= Math.Abs(formOffsetRect.Bottom) )
                        formOffsetRect.Height = toRect.Bottom - formRect.Bottom;	// snap bottom to bottom
                }
            }

            if ( formRect.Bottom >= (toRect.Top - stickGap) && formRect.Top <= (toRect.Bottom + stickGap) )
            {
                if ( (resizeDirection & ResizeDir.Right) == ResizeDir.Right )
                {
                    if ( Math.Abs(formRect.Right - toRect.Left) <= Math.Abs(formOffsetRect.Right) && bInsideStick )
                        formOffsetRect.Width = toRect.Left - formRect.Right;		// Stick right to left
                    else if ( Math.Abs(formRect.Right - toRect.Right) <= Math.Abs(formOffsetRect.Right))
                        formOffsetRect.Width = toRect.Right - formRect.Right;	// Stick right to right
                }

                if ( (resizeDirection & ResizeDir.Left) == ResizeDir.Left )
                {
                    if ( Math.Abs(formRect.Left - toRect.Right) <= Math.Abs(formOffsetRect.Left) && bInsideStick )
                        formOffsetRect.X = formRect.Left - toRect.Right;		// Stick left to right
                    else if ( Math.Abs(formRect.Left - toRect.Left) <= Math.Abs(formOffsetRect.Left))
                        formOffsetRect.X = formRect.Left - toRect.Left;		// Stick left to left
                }
            }
        }