SilverFlow.Controls.FloatingWindow.OnMouseLeftButtonDown C# (CSharp) Method

OnMouseLeftButtonDown() protected method

Executed when mouse left button is down.
protected OnMouseLeftButtonDown ( System.Windows.Input.MouseButtonEventArgs e ) : void
e System.Windows.Input.MouseButtonEventArgs The data for the event.
return void
        protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            base.OnMouseLeftButtonDown(e);

            windowAction = WindowAction.None;

            if (windowState == WindowState.Normal)
            {
                // Stop inertial motion before the mouse is captured
                StopInertialMotion();

                clickPoint = e.GetPosition(HostPanel);
                clickWindowPosition = Position;
                snapinController.SnapinDistance = this.FloatingWindowHost.SnapinDistance;
                snapinController.SnapinMargin = this.FloatingWindowHost.SnapinMargin;
                snapinController.SnapinEnabled = this.FloatingWindowHost.SnapinEnabled;

                if (ResizeEnabled && resizeController.CanResize)
                {
                    snapinController.SnapinBounds = this.FloatingWindowHost.GetSnapinBounds(this);
                    resizeController.StartResizing();
                    CaptureMouseCursor();
                    windowAction = WindowAction.Resize;
                }
                else if (chrome != null)
                {
                    // If the mouse was clicked on the chrome - start dragging the window
                    Point point = e.GetPosition(chrome);

                    if (chrome.ContainsPoint(point))
                    {
                        snapinController.SnapinBounds = this.FloatingWindowHost.GetSnapinBounds(this);
                        CaptureMouseCursor();
                        windowAction = WindowAction.Move;
                        inertiaController.StartMotion(Position);
                    }
                }
            }
        }
FloatingWindow