ModalWindow.ResizeWindow C# (CSharp) Method

ResizeWindow() public static method

public static ResizeWindow ( Rect windowRect, bool &isResizing, Rect &resizeStart, Vector2 minWindowSize ) : Rect
windowRect Rect
isResizing bool
resizeStart Rect
minWindowSize Vector2
return Rect
    public static Rect ResizeWindow(Rect windowRect, ref bool isResizing, ref Rect resizeStart, Vector2 minWindowSize)
    {
        Vector2 mouse = GUIUtility.ScreenToGUIPoint (new Vector2 (Input.mousePosition.x, Screen.height - Input.mousePosition.y));
        if (Event.current.type == EventType.mouseDown && windowRect.Contains (mouse)) {
            isResizing = true;
            resizeStart = new Rect (mouse.x, mouse.y, windowRect.width, windowRect.height);
        }
        else if (Event.current.type == EventType.mouseUp && isResizing) {
            isResizing = false;
        }
        else if (!Input.GetMouseButton (0)) {
            isResizing = false;
        }
        else if (isResizing) {
            windowRect.width = Mathf.Max (minWindowSize.x, resizeStart.width + (mouse.x - resizeStart.x));
            windowRect.height = Mathf.Max (minWindowSize.y, resizeStart.height + (mouse.y - resizeStart.y));
            windowRect.xMax = Mathf.Min (Screen.width, windowRect.xMax);
            windowRect.yMax = Mathf.Min (Screen.height, windowRect.yMax);
        }
        return windowRect;
    }