guint rotation;
EvPresentationState state;
gdouble scale;
+ gint monitor_width;
gint monitor_height;
/* Cursors */
gdouble width, height;
ev_document_get_page_size (pview->document, page, &width, &height);
- pview->scale = (pview->rotation == 90 || pview->rotation == 270) ?
- pview->monitor_height / width :
- pview->monitor_height / height;
+ if (pview->rotation == 90 || pview->rotation == 270) {
+ gdouble tmp;
+
+ tmp = width;
+ width = height;
+ height = tmp;
+ }
+ pview->scale = MIN (pview->monitor_width / width, pview->monitor_height / height);
}
return pview->scale;
monitor_num = gdk_screen_get_monitor_at_window (screen, widget->window);
gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
+ pview->monitor_width = monitor.width;
pview->monitor_height = monitor.height;
ev_view_presentation_update_current_page (pview, pview->current_page);