From 6131a644b12d6359630c118a21c609a15d2f5c21 Mon Sep 17 00:00:00 2001 From: "varunjain@chromium.org" Date: Fri, 15 Jun 2012 23:26:53 +0000 Subject: Listen to display settings provider for work area size changes and send those changes to the renderer. BUG=126586 TEST=manual Review URL: https://chromiumcodereview.appspot.com/10407023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142519 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/gfx/screen_android.cc | 5 +++++ ui/gfx/screen_mac.mm | 14 ++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'ui/gfx') diff --git a/ui/gfx/screen_android.cc b/ui/gfx/screen_android.cc index fa30aef..576afab 100644 --- a/ui/gfx/screen_android.cc +++ b/ui/gfx/screen_android.cc @@ -26,6 +26,11 @@ gfx::Display Screen::GetMonitorNearestWindow(gfx::NativeView view) { } // static +gfx::Display Screen::GetMonitorNearestPoint(const gfx::Point& point) { + return GetPrimaryMonitor(); +} + +// static int Screen::GetNumMonitors() { return 1; } diff --git a/ui/gfx/screen_mac.mm b/ui/gfx/screen_mac.mm index 5c6d3a1..7960447 100644 --- a/ui/gfx/screen_mac.mm +++ b/ui/gfx/screen_mac.mm @@ -147,4 +147,18 @@ int Screen::GetNumMonitors() { return display_count; } +// static +gfx::Display Screen::GetMonitorNearestPoint(const gfx::Point& point) { + NSPoint ns_point = NSPointFromCGPoint(point.ToCGPoint()); + + NSArray* screens = [NSScreen screens]; + NSScreen* primary = [screens objectAtIndex:0]; + for (NSScreen* screen in screens) { + if (NSMouseInRect(ns_point, [screen frame], NO)) + return GetDisplayForScreen(screen, screen == primary); + } + NOTREACHED(); + return gfx::Display(); +} + } // namespace gfx -- cgit v1.1