diff options
| author | Jabiertxo Arraiza Cenoz <jtx@jtx-desktop.markerlab.es> | 2017-12-27 17:05:55 +0000 |
|---|---|---|
| committer | Jabiertxo Arraiza Cenoz <jtx@jtx-desktop.markerlab.es> | 2017-12-27 17:05:55 +0000 |
| commit | 76aab6da8d642a2e72c0a8e0f38c6994a6e62b35 (patch) | |
| tree | 047c4f9d208f8cf8b647acec494a2bb7a5d160ec /src/svg-view-slideshow.cpp | |
| parent | Merge branch 'master' into powerpencilII (diff) | |
| parent | Stop using deprecated gtk_adjustment_value_changed (diff) | |
| download | inkscape-76aab6da8d642a2e72c0a8e0f38c6994a6e62b35.tar.gz inkscape-76aab6da8d642a2e72c0a8e0f38c6994a6e62b35.zip | |
Merge branch 'master' into powerpencilII
Diffstat (limited to 'src/svg-view-slideshow.cpp')
| -rw-r--r-- | src/svg-view-slideshow.cpp | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/src/svg-view-slideshow.cpp b/src/svg-view-slideshow.cpp index 23ac5f06c..0e50d582b 100644 --- a/src/svg-view-slideshow.cpp +++ b/src/svg-view-slideshow.cpp @@ -31,6 +31,10 @@ #include <glibmm/main.h> +#if GTKMM_CHECK_VERSION(3,22,0) +# include <gdkmm/monitor.h> +#endif + #include <gtkmm/button.h> #include <gtkmm/buttonbox.h> #include <gtkmm/image.h> @@ -44,6 +48,9 @@ #include "svg-view-slideshow.h" #include "svg-view-widget.h" +#if GTKMM_CHECK_VERSION(3,22,0) +# include <gdkmm/monitor.h> +#endif SPSlideShow::SPSlideShow(std::vector<Glib::ustring> const &slides, bool full_screen, int timer, double scale) @@ -57,9 +64,34 @@ SPSlideShow::SPSlideShow(std::vector<Glib::ustring> const &slides, bool full_scr , _ctrlwin(NULL) { // setup initial document +#if GTKMM_CHECK_VERSION(3,22,0) + auto display = Gdk::Display::get_default(); + auto monitor = display->get_primary_monitor(); + + // Fallback to monitor number 0 if the user hasn't configured a primary monitor + if (!monitor) { + monitor = display->get_monitor(0); + } + + if (monitor) { + Gdk::Rectangle monitor_geometry; + monitor->get_geometry(monitor_geometry); + + auto const monitor_width = monitor_geometry.get_width(); + auto const monitor_height = monitor_geometry.get_height(); + +#else auto default_screen = Gdk::Screen::get_default(); - set_default_size(MIN ((int)_doc->getWidth().value("px")*_scale, default_screen->get_width() - 64), - MIN ((int)_doc->getHeight().value("px")*_scale, default_screen->get_height() - 64)); + + if (default_screen) { + auto const monitor_width = default_screen->get_width(); + auto const monitor_height = default_screen->get_height(); +#endif + + set_default_size(MIN ((int)_doc->getWidth().value("px")*_scale, monitor_width - 64), + MIN ((int)_doc->getHeight().value("px")*_scale, monitor_height - 64)); + + } _view = sp_svg_view_widget_new(_doc); SP_SVG_VIEW_WIDGET(_view)->setResize( false, _doc->getWidth().value("px"), _doc->getHeight().value("px") ); |
