public static void ProcessMouseLocation() { if (Data.Window.ClientRectangle.Contains(Data.MouseLocation)) { WindowResizeState wrs = 0; if (!Data.WindowResizeBounds.Contains(Data.MouseLocation)) { wrs |= (Data.MouseLocation.X >= Data.Window.ClientRectangle.Width - Data.WindowResizeBorderSize) ? WindowResizeState.HoverR : 0; wrs |= (Data.MouseLocation.X < Data.WindowResizeBorderSize) ? WindowResizeState.HoverL : 0; wrs |= (Data.MouseLocation.Y >= Data.Window.ClientRectangle.Height - Data.WindowResizeBorderSize) ? WindowResizeState.HoverB : 0; wrs |= (Data.MouseLocation.Y < Data.WindowResizeBorderSize) ? WindowResizeState.HoverT : 0; } Data.WindowResize &= ~WindowResizeState.Hover; Data.WindowResize |= wrs; } if (!Data.GridBounds.Contains(Data.MouseLocation)) { Data.GridHoverCell = -1; } else { Data.GridHoverCell = (int)Math.Floor(((double)Data.MouseX - Data.GridBounds.X) / Data.GridCellSize) + (int)Math.Floor(((double)Data.MouseY - Data.GridBounds.Y) / Data.GridCellSize) * Data.MineFieldWidth; } Data.DEBUG_MESSAGE_GRIDHOVERCELL = Data.GridHoverCell >= 0 ? string.Format("Cell {0}\n\r{1}\n\r{2} adjacent", Data.GridHoverCell.ToString("000"), Data.MineField[Data.GridHoverCell].HasFlag(Game.MineInfo.IsMine) ? "MINE" : "SAFE", Data.MineFieldNeighbours[Data.GridHoverCell]) : "NO CELL SELECTED"; }
public static bool CheckResizeInput() { Data.WindowResize &= (Data.WindowResize & WindowResizeState.Resize) > 0 && Data.MouseClickL == ButtonState.Released ? ~WindowResizeState.Resize : Data.WindowResize; if ((Data.WindowResize & WindowResizeState.Hover) > 0 && Data.MouseClickL == ButtonState.Pressed) { Data.WindowResizeStartLoc = Data.MouseLocation; WindowResizeState wrs = 0; wrs |= Data.WindowResize.HasFlag(WindowResizeState.HoverT) ? WindowResizeState.ResizeT : 0; wrs |= Data.WindowResize.HasFlag(WindowResizeState.HoverB) ? WindowResizeState.ResizeB : 0; wrs |= Data.WindowResize.HasFlag(WindowResizeState.HoverL) ? WindowResizeState.ResizeL : 0; wrs |= Data.WindowResize.HasFlag(WindowResizeState.HoverR) ? WindowResizeState.ResizeR : 0; Data.WindowResize &= ~WindowResizeState.Resize; Data.WindowResize |= wrs; } return((Data.WindowResize & WindowResizeState.Resize) > 0); }