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);
}
}
}
}