/// <summary> /// Perform mouse down processing. /// </summary> /// <param name="e">A MouseEventArgs that contains the event data.</param> /// <param name="rawPt">The actual point provided from the windows message.</param> public virtual void MouseDown(MouseEventArgs e, Point rawPt) { Debug.Assert(e != null); // Validate incoming reference if (e == null) { throw new ArgumentNullException("e"); } Point pt = new Point(e.X, e.Y); // Set the correct active view from the point UpdateViewFromPoint(_control, pt); // Tell current view of mouse down if (ActiveView != null) { MouseCaptured = ActiveView.MouseDown(rawPt, e.Button); } // Generate event to indicate the view manager has processed a mouse down PerformMouseDownProcessed(e); }