public YTMenuMovingComponent(Menu menu, MovingMode mode) { _Menu = menu; _MovingMode = mode; _MovingState = MovingState.Static; _ScreenWidth = (int)WindowsHandler.GetScreenWidth(); _ScreenHeight = (int)WindowsHandler.GetScreenHeight(); _xQueue = new Queue <double>(); _yQueue = new Queue <double>(); _ShakingQueue = new Queue <double>(); }
public static void MoveWindow(IntPtr hwnd, int xOffset, int yOffset) { if (hwnd != IntPtr.Zero) { WinApiManager.RECT rect = new WinApiManager.RECT(); WinApiManager.GetWindowRect(hwnd, out rect); int width = Math.Abs(rect.Right - rect.Left); int height = Math.Abs(rect.Bottom - rect.Top); int x = Math.Max(0 - width / 2, Math.Min((int)WindowsHandler.GetScreenWidth() + width / 2, rect.Left + xOffset)); int y = Math.Max(0, Math.Min((int)WindowsHandler.GetScreenHeight(), rect.Top + yOffset)); WinApiManager.SetWindowPos(hwnd, IntPtr.Zero, x, y, 0, 0, WinApiManager.SWP_NOSIZE | WinApiManager.SWP_NOACTIVATE | WinApiManager.SWP_NOZORDER | WinApiManager.SWP_SHOWWINDOW); } }
public void Execute(String command) { command = command.Remove(command.Length - 1); Application.Current.Dispatcher.Invoke(new Action(() => { switch (command) { case "red": whiteBoard.ChangeNormalBrushColor(Colors.Red); whiteBoard.EnterNormalBrushMode(); break; case "yellow": whiteBoard.ChangeNormalBrushColor(Colors.Yellow); whiteBoard.EnterNormalBrushMode(); break; case "blue": whiteBoard.ChangeNormalBrushColor(Colors.Blue); whiteBoard.EnterNormalBrushMode(); break; case "black": whiteBoard.ChangeNormalBrushColor(Colors.Black); whiteBoard.EnterNormalBrushMode(); break; case "finger_eraser": whiteBoard.EnterFingerEraserMode(); break; case "palm_eraser": whiteBoard.EnterPalmEraserMode(); break; case "clear": whiteBoard.Clear(); break; case "normal_brush": whiteBoard.EnterNormalBrushMode(); break; case "highlight_brush": whiteBoard.EnterHighlightBrushMode(); break; case "pen_menu": whiteBoard.TogglePenMenu(); break; case "two_fingers": WindowsHandler.AcquirePriortyofScreenTouch(); break; case "back": WindowsHandler.BlockingScreenTouch(); break; case "face": WindowsHandler.RecoverScreenTouch(); break; case "close": WindowsHandler.CloseWindow(WindowsHandler.FindTopmostWindow()); break; case "minimize": WindowsHandler.MinimizeWindow(WindowsHandler.FindTopmostWindow()); break; case "maximize": WindowsHandler.MaximizeWindow(WindowsHandler.FindTopmostWindow()); break; case "restore": WindowsHandler.RestoreWindow(WindowsHandler.FindTopmostWindow()); break; default: //string[] data = command.Split(','); //float x = float.Parse(data[0]); //float y = float.Parse(data[1]); menu.GetComponent().run(command); break; } })); }