public static void OnMouseMoved(Controls.ControlBase hoveredControl, int x, int y) { // Always keep these up to date, they're used to draw the dragged control. m_MouseX = x; m_MouseY = y; // If we're not carrying anything, then check to see if we should // pick up from a control that we're holding down. If not, then forget it. if (CurrentPackage == null && !ShouldStartDraggingControl(x, y)) { return; } // Swap to this new hovered control and notify them of the change. UpdateHoveredControl(hoveredControl, x, y); if (HoveredControl == null) { return; } // Update the hovered control every mouse move, so it can show where // the dropped control will land etc.. HoveredControl.DragAndDrop_Hover(CurrentPackage, x, y); // Override the cursor - since it might have been set my underlying controls // Ideally this would show the 'being dragged' control. TODO Platform.Neutral.SetCursor(Cursors.Default); hoveredControl.Redraw(); }