diff options
author | Johannes Buchner <buchner.johannes@gmx.at> | 2007-07-27 05:41:22 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2007-07-27 05:41:22 (GMT) |
commit | 06e8fe2d26f02fd17a4dc19ea10d7ee00dc33243 (patch) | |
tree | 67f713b130459a3805e2535bfd3a761b501cad55 /shell/ev-utils.c | |
parent | 0316bea7b62a35a692afad8cef9ecfb4a1d6a4f5 (diff) |
Reorganizes utility functions.
2007-07-27 Johannes Buchner <buchner.johannes@gmx.at>
* shell/ev-utils.c: (get_num_monitors), (get_screen_dpi):
* shell/ev-utils.h:
* shell/ev-view.c: (ev_view_set_zoom_for_size),
(ev_view_update_view_size):
* shell/ev-view.h:
* shell/ev-window.c: (ev_window_update_actions),
(setup_view_from_metadata), (ev_window_screen_changed),
(ev_window_sizing_mode_changed_cb), (ev_window_zoom_changed_cb),
(zoom_control_changed_cb):
* shell/ev-window.h:
Reorganizes utility functions.
svn path=/trunk/; revision=2582
Diffstat (limited to 'shell/ev-utils.c')
-rw-r--r-- | shell/ev-utils.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/shell/ev-utils.c b/shell/ev-utils.c index 9021726..fabdeaa 100644 --- a/shell/ev-utils.c +++ b/shell/ev-utils.c @@ -369,3 +369,43 @@ ev_gui_menu_position_tree_selection (GtkMenu *menu, ev_gui_sanitise_popup_position (menu, widget, x, y); } +/** + * get_num_monitors: Get the number of user monitors. + * @window: optional GtkWindow to look at. + * + * Returns: Number of monitors, -1 if uncertain situation (like multiple screens) + */ +gint +get_num_monitors (GtkWindow * window) +{ + GdkDisplay * display; + GdkScreen * screen; + gint num_screen = gdk_display_get_n_screens(display); + + display = gdk_display_get_default(); + + if (num_screen != 1) + return -1; + + if (window) + screen = gtk_window_get_screen(window); + else + screen = gdk_display_get_screen(display, 0); + + return gdk_screen_get_n_monitors(screen); +} + +gdouble +get_screen_dpi (GtkWindow * window) +{ + GdkScreen *screen; + gdouble xdpi, ydpi; + + screen = gtk_window_get_screen (window); + + xdpi = 25.4 * gdk_screen_get_width (screen) / gdk_screen_get_width_mm (screen); + ydpi = 25.4 * gdk_screen_get_height (screen) / gdk_screen_get_height_mm (screen); + + return (xdpi + ydpi) / 2.0; +} + |