Beispiel #1
0
 protected void StopMagic()
 {
     if (_strokeWindow != null)
     {
         _strokeWindow.Close();
         _strokeWindow = null;
     }
     _activewindowhook.Unhook();
 }
Beispiel #2
0
 void StrokeWindowMouseMove(object sender, MouseEventArgs e)
 {
     Views.Test.TestWindow.AddMessage("Stroke: Mouse Move");
     if (!_magicArrowIsShown && !_isInZone && StrokeWindow.PositionIsOk(_movedOutSide, Cursor.Position.X, WpfScreen.MostLeftX - 2, WpfScreen.MostRightX))
     {
         _isInZone = true;
         Point p      = e.GetPosition(_strokeWindow);
         var   screen = WpfScreen.GetScreenFrom(p);
         ShowMagicArrow(p.Y + screen.WorkingArea.Top, _movedOutSide);
     }
     _mouseWasOver = true;
 }
Beispiel #3
0
        protected void StartMagic()
        {
            var screen = GetScreenFromSide(_movedOutSide);

            _strokeWindow = new StrokeWindow(screen.WorkingArea.Height, _movedOutSide == Side.Left ? WpfScreen.MostLeftX : WpfScreen.MostRightX, screen.WorkingArea.Top, _movedOutSide);
            _strokeWindow.Show();
            _strokeWindow.MouseMove  += StrokeWindowMouseMove;
            _strokeWindow.MouseLeave += StrokeWindowMouseLeave;
            _strokeWindow.MouseDown  += StrokeWindowMouseDown;
            _activewindowhook.Hook();
            _activewindowhook.RaiseOne(); //If the current window is fullscreen, the event wouldn't be raised (because nothing changed)
            _mouseWasOver = false;
        }
Beispiel #4
0
 void MagicWindow_MouseLeave(object sender, MouseEventArgs e)
 {
     Views.Test.TestWindow.AddMessage("Magic Arrow: Mouse Leave");
     if (StrokeWindow.PositionIsOk(_movedOutSide, Cursor.Position.X, 2 - WpfScreen.MostLeftX, WpfScreen.MostRightX))
     {
         if (_strokeWindow != null)
         {
             _strokeWindow.SetLeft(_movedOutSide == Side.Left ? WpfScreen.MostLeftX : WpfScreen.MostRightX - 1, _movedOutSide);
         }
         HideMagicArrow();
     }
     else
     {
         _strokeWindow.SetLeft(_movedOutSide == Side.Left ? WpfScreen.MostLeftX : WpfScreen.MostRightX - 1, _movedOutSide);
     }
 }