Beispiel #1
0
        /// <summary>
        /// Perform mouse leave processing.
        /// </summary>
        /// <param name="e">An EventArgs that contains the event data.</param>
        public virtual void MouseLeave(EventArgs e)
        {
            Debug.Assert(e != null);

            // HACK:
            var sc = ActiveView?.MouseController as SeparatorController;

            if (sc != null && sc.IsMoving && PI.IsWine())
            {
                //Debug.Assert(PI.IsWine());
                Console.WriteLine("ViewManager.MouseLeave() SeparatorController WINE HACK!");
                return;
            }
            //

            // Validate incoming reference
            if (e == null)
            {
                throw new ArgumentNullException("e");
            }

            // If there is an active element
            if (ActiveView != null)
            {
                // Remove active view
                ActiveView = null;

                // No capture is in place anymore
                MouseCaptured = false;
            }
        }