protected void StopMagic() { if (Strokewindow != null) { Strokewindow.Close(); Strokewindow = null; } _activewindowhook.Unhook(); }
protected void StopMagic() { if (_strokeWindow != null) { _strokeWindow.Close(); _strokeWindow = null; } _activewindowhook.Unhook(); }
void strokewindow_MouseMove(object sender, MouseEventArgs e) { Hurricane.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; }
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 += strokewindow_MouseMove; Strokewindow.MouseLeave += strokewindow_MouseLeave; Strokewindow.MouseDown += strokewindow_MouseDown; _activewindowhook.Hook(); _activewindowhook.RaiseOne(); //If the current window is fullscreen, the event wouldn't be raised (because nothing changed) MouseWasOver = false; }
void MagicWindow_MouseLeave(object sender, MouseEventArgs e) { Hurricane.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); } }