Example #1
0
 protected override void OnMouseUp(MouseButtonEventArgs e)
 {
     base.OnMouseUp(e);
     try
     {
         InputUtils.UpdateMouse(e.Mouse);
         if (linerider.IO.TrackRecorder.Recording)
         {
             return;
         }
         _dragRider = false;
         var r = _input.ProcessMouseMessage(e);
         _uicursor = _input.MouseCaptured;
         InputUtils.CheckCurrentHotkey();
         if (!r || CurrentTools.SelectedTool.IsMouseButtonDown)
         {
             if (!CurrentTools.SelectedTool.IsMouseButtonDown &&
                 Canvas.GetOpenWindows().Count != 0)
             {
                 UpdateCursor();
                 return;
             }
             if (e.Button == MouseButton.Left)
             {
                 CurrentTools.SelectedTool.OnMouseUp(new Vector2d(e.X, e.Y));
             }
             else if (e.Button == MouseButton.Right)
             {
                 CurrentTools.SelectedTool.OnMouseRightUp(new Vector2d(e.X, e.Y));
             }
         }
         UpdateCursor();
     }
     catch (Exception ex)
     {
         // SDL2 backend eats exceptions.
         // we have to manually crash.
         Program.Crash(ex, true);
         Close();
     }
 }
Example #2
0
 protected override void OnKeyUp(KeyboardKeyEventArgs e)
 {
     base.OnKeyUp(e);
     try
     {
         InputUtils.UpdateKeysDown(e.Keyboard, e.Modifiers);
         if (linerider.IO.TrackRecorder.Recording)
         {
             return;
         }
         InputUtils.CheckCurrentHotkey();
         CurrentTools.SelectedTool.OnKeyUp(e.Key);
         _input.ProcessKeyUp(e);
         UpdateCursor();
         Invalidate();
     }
     catch (Exception ex)
     {
         // SDL2 backend eats exceptions.
         // we have to manually crash.
         Program.Crash(ex, true);
         Close();
     }
 }