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>();
 }
Exemplo n.º 2
0
 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;
                }
            }));
        }