| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/gfx/screen.h" | 5 #include "ui/gfx/screen.h" |
| 6 | 6 |
| 7 #include <gdk/gdkx.h> | 7 #include <gdk/gdkx.h> |
| 8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 gfx::Rect NativePrimaryMonitorBounds() { | 50 gfx::Rect NativePrimaryMonitorBounds() { |
| 51 GdkScreen* screen = gdk_screen_get_default(); | 51 GdkScreen* screen = gdk_screen_get_default(); |
| 52 GdkRectangle rect; | 52 GdkRectangle rect; |
| 53 gdk_screen_get_monitor_geometry(screen, 0, &rect); | 53 gdk_screen_get_monitor_geometry(screen, 0, &rect); |
| 54 return gfx::Rect(rect); | 54 return gfx::Rect(rect); |
| 55 } | 55 } |
| 56 | 56 |
| 57 gfx::Rect GetMonitorAreaNearestWindow(gfx::NativeView view) { | 57 gfx::Rect GetMonitorAreaNearestWindow(gfx::NativeView view) { |
| 58 GdkScreen* screen = gdk_screen_get_default(); | 58 GdkScreen* screen = gdk_screen_get_default(); |
| 59 gint monitor_num = 0; | 59 gint monitor_num = 0; |
| 60 if (view) { | 60 if (view && GTK_IS_WINDOW(view)) { |
| 61 GtkWidget* top_level = gtk_widget_get_toplevel(view); | 61 GtkWidget* top_level = gtk_widget_get_toplevel(view); |
| 62 DCHECK(GTK_IS_WINDOW(top_level)); | 62 DCHECK(GTK_IS_WINDOW(top_level)); |
| 63 GtkWindow* window = GTK_WINDOW(top_level); | 63 GtkWindow* window = GTK_WINDOW(top_level); |
| 64 screen = gtk_window_get_screen(window); | 64 screen = gtk_window_get_screen(window); |
| 65 monitor_num = gdk_screen_get_monitor_at_window( | 65 monitor_num = gdk_screen_get_monitor_at_window( |
| 66 screen, | 66 screen, |
| 67 gtk_widget_get_window(top_level)); | 67 gtk_widget_get_window(top_level)); |
| 68 } | 68 } |
| 69 GdkRectangle bounds; | 69 GdkRectangle bounds; |
| 70 gdk_screen_get_monitor_geometry(screen, monitor_num, &bounds); | 70 gdk_screen_get_monitor_geometry(screen, monitor_num, &bounds); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 | 146 |
| 147 // static | 147 // static |
| 148 int Screen::GetNumMonitors() { | 148 int Screen::GetNumMonitors() { |
| 149 // This query is kinda bogus for Linux -- do we want number of X screens? | 149 // This query is kinda bogus for Linux -- do we want number of X screens? |
| 150 // The number of monitors Xinerama has? We'll just use whatever GDK uses. | 150 // The number of monitors Xinerama has? We'll just use whatever GDK uses. |
| 151 GdkScreen* screen = gdk_screen_get_default(); | 151 GdkScreen* screen = gdk_screen_get_default(); |
| 152 return gdk_screen_get_n_monitors(screen); | 152 return gdk_screen_get_n_monitors(screen); |
| 153 } | 153 } |
| 154 | 154 |
| 155 } // namespace gfx | 155 } // namespace gfx |
| OLD | NEW |