private void ShowDisplayDiagnostics() { var details = DisplayDetails.GetMonitorDetails(); #region Diagnostics Debug.WriteLine("****************** GetWorkingArea: {0}", Screen.GetWorkingArea(new System.Drawing.Point(0, 0))); Debug.WriteLine("****************** GetBounds: {0}", Screen.GetBounds(new System.Drawing.Point(0, 0))); Debug.WriteLine("****************** Primary Screen: {0}", Screen.PrimaryScreen.DeviceName, 0); Debug.WriteLine("****************** EntireDesktop Res: {0}", ScreenHelpers.GetEntireDesktopArea(), 0); foreach (var displayDetails in details) { Debug.WriteLine("DETAILS:"); Debug.WriteLine("\t\tAvailability: {0}", displayDetails.Availability); Debug.WriteLine("\t\tModel: {0}", displayDetails.Model, 0); Debug.WriteLine("\t\tMonitorID: {0}", displayDetails.MonitorID, 0); Debug.WriteLine("\t\tPixelHeight: {0}", displayDetails.PixelHeight, 0); Debug.WriteLine("\t\tPixelWidth: {0}", displayDetails.PixelWidth); Debug.WriteLine("\t\tPnPID: {0}", displayDetails.PnPID, 0); Debug.WriteLine("\t\tSerialNumber: {0}", displayDetails.SerialNumber, 0); } Debug.WriteLine("********* SCREENS *********"); var screens = Screen.AllScreens; foreach (var screen in screens) { Debug.WriteLine("SCREEN:"); Debug.WriteLine("\t\tBitsPerPixel: {0}", screen.BitsPerPixel, 0); Debug.WriteLine("\t\tBounds: {0}", screen.Bounds, 0); Debug.WriteLine("\t\tDeviceName: {0}", screen.DeviceName, 0); Debug.WriteLine("\t\tPrimary: {0}", screen.Primary, 0); Debug.WriteLine("\t\tWorkingArea: {0}", screen.WorkingArea, 0); } #endregion }
private void ScaleBtn_Click(object sender, RoutedEventArgs e) { var dpi = ScreenHelpers.GetScreenDPIFromWPFWindow(this); var scale = ScreenHelpers.GetScreenScalingFromWPFWindow(this); MessageBox.Show($"DPI: {dpi}\nScale: {scale}"); }
public bool IsGazeInScreenRegion(Rect region) { var gazeScreenPoint = ScreenHelpers.GetGazePointInScreenPixels(_eyetracker); //Logger.Log($"Gaze point: {gazeScreenPoint}"); return(region.Contains(gazeScreenPoint)); }
public static bool IsLookingAt(this IEyetracker eyetracker, EnvDTE.Window window) { var gazePixels = ScreenHelpers.GetGazePointInScreenPixels(eyetracker); ThreadHelper.ThrowIfNotOnUIThread(); var x = gazePixels.X - window.Left; var y = gazePixels.Y - window.Top; return(x > 0 && x < window.Width && y > 0 && y < window.Height); }
public void ShowWindow(IProgramContext context) { if (IsVisible == true) { return; } System.Windows.Forms.Screen[] screens = System.Windows.Forms.Screen.AllScreens; List <uint> dpis = ScreenHelpers.GetScreenDpis(screens); RECT position = context.WindowPosition; double ttop = position.Top + 50; double windowWidth = ActualWidth; if (windowWidth <= 0) { windowWidth = Width; } uint scale = dpis[0] / 96; windowWidth *= scale; double halfwidthdiff = ((position.Right - position.Left) - windowWidth) / 2; double tleft = position.Left + halfwidthdiff; if (tleft < 0 && tleft + windowWidth > 0) { tleft = -(windowWidth + 50); } if (ttop < 50) { ttop = 50; } Left = tleft / scale; Top = ttop / scale; Show(); Activate(); textbox_input.Focus(); SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, 3); }
private void ShowDropDown() { var rect = RectangleToScreen(ClientRectangle); var location = new Point(rect.X, rect.Y + Height); _dropDownControl.Size = new Size(rect.Width, _checkedListBox.Items.Count * _checkedListBox.ItemHeight + ScreenHelpers.ScaleByCurrentDPI(5)); _dropDownControl.Show(location); _dropDownClosing = true; _dropDownControl.Focus(); }
public Point GetRelativeGazePoint(FrameworkElement element) { var gazeScreenPoint = ScreenHelpers.GetGazePointInScreenPixels(_eyetracker); return(element.PointFromScreen(gazeScreenPoint)); }