summaryrefslogtreecommitdiffstats
path: root/views/screen_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/screen_win.cc')
-rw-r--r--views/screen_win.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/views/screen_win.cc b/views/screen_win.cc
index b6e7a15..7bfeada 100644
--- a/views/screen_win.cc
+++ b/views/screen_win.cc
@@ -24,5 +24,18 @@ gfx::Rect Screen::GetMonitorWorkAreaNearestWindow(gfx::NativeWindow window) {
return gfx::Rect(monitor_info.rcWork);
}
+// static
+gfx::Rect Screen::GetMonitorAreaNearestPoint(const gfx::Point& point) {
+ POINT initial_loc = { point.x(), point.y() };
+ HMONITOR monitor = MonitorFromPoint(initial_loc, MONITOR_DEFAULTTONEAREST);
+ if (!monitor)
+ return gfx::Rect();
+
+ MONITORINFO mi = {0};
+ mi.cbSize = sizeof(mi);
+ GetMonitorInfo(monitor, &mi);
+ return gfx::Rect(mi.rcMonitor);
+}
+
} // namespace