Artemis.ViewModels.Profiles.ProfileViewModel.MouseUpKeyboardPreview C# (CSharp) Метод

MouseUpKeyboardPreview() публичный Метод

Second handler for clicking, selects a the layer the user clicked on if the used clicked on an empty spot, deselects the current layer
public MouseUpKeyboardPreview ( System.Windows.Input.MouseButtonEventArgs e ) : void
e System.Windows.Input.MouseButtonEventArgs
Результат void
        public void MouseUpKeyboardPreview(MouseButtonEventArgs e)
        {
            if (SelectedProfile == null || SelectedProfile.IsDefault)
                return;

            var timeSinceDown = DateTime.Now - _downTime;
            if (!(timeSinceDown.TotalMilliseconds < 500))
                return;
            if (_draggingLayer != null)
                return;

            var keyboard = _deviceManager.ActiveKeyboard;
            var pos = e.GetPosition((Image) e.OriginalSource);
            var x = pos.X/((double) keyboard.PreviewSettings.Width/keyboard.Width);
            var y = pos.Y/((double) keyboard.PreviewSettings.Height/keyboard.Height);

            var hoverLayer = GetLayers().Where(l => l.MustDraw())
                .FirstOrDefault(l => l.Properties.GetRect(1).Contains(x, y));

            SelectedLayer = hoverLayer;
        }

Usage Example

Пример #1
0
 /// <summary>
 ///     Second handler for clicking, selects a the layer the user clicked on
 ///     if the used clicked on an empty spot, deselects the current layer
 /// </summary>
 /// <param name="e"></param>
 public void MouseUpKeyboardPreview(MouseButtonEventArgs e)
 {
     ProfileViewModel.MouseUpKeyboardPreview(e);
 }