UnityEditor.SceneView.HandleMouseCursor C# (CSharp) Method

HandleMouseCursor() private method

private HandleMouseCursor ( ) : void
return void
        private void HandleMouseCursor()
        {
            Event current = Event.current;
            if (GUIUtility.hotControl == 0)
            {
                this.s_DraggingCursorIsCached = false;
            }
            Rect position = new Rect(0f, 0f, base.position.width, base.position.height);
            if (!this.s_DraggingCursorIsCached)
            {
                MouseCursor arrow = MouseCursor.Arrow;
                if ((current.type == EventType.MouseMove) || (current.type == EventType.Repaint))
                {
                    foreach (CursorRect rect4 in s_MouseRects)
                    {
                        if (rect4.rect.Contains(current.mousePosition))
                        {
                            arrow = rect4.cursor;
                            position = rect4.rect;
                        }
                    }
                    if (GUIUtility.hotControl != 0)
                    {
                        this.s_DraggingCursorIsCached = true;
                    }
                    if (arrow != s_LastCursor)
                    {
                        s_LastCursor = arrow;
                        InternalEditorUtility.ResetCursor();
                        base.Repaint();
                    }
                }
            }
            if ((current.type == EventType.Repaint) && (s_LastCursor != MouseCursor.Arrow))
            {
                EditorGUIUtility.AddCursorRect(position, s_LastCursor);
            }
        }