diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-06-03 17:10:53 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-06-03 17:10:53 +0100 |
| commit | d1e19450e051d70531a6c1f0973bfd6cfd64319b (patch) | |
| tree | c9c3e407501fc170cc3fd77f37700bd7809b5e60 /src/wx/system_information_dialog.cc | |
| parent | 7851658223286410d5afb1e32bc44b4012ec5f55 (diff) | |
More accurate reporting of whether vsync is enabled.
Diffstat (limited to 'src/wx/system_information_dialog.cc')
| -rw-r--r-- | src/wx/system_information_dialog.cc | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/wx/system_information_dialog.cc b/src/wx/system_information_dialog.cc index 894239b65..0e1916202 100644 --- a/src/wx/system_information_dialog.cc +++ b/src/wx/system_information_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington <cth@carlh.net> + Copyright (C) 2019 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -20,6 +20,8 @@ #include "system_information_dialog.h" #include "wx_util.h" +#include "gl_video_view.h" +#include "film_viewer.h" #ifdef DCPOMATIC_OSX #include <OpenGL/glu.h> @@ -30,8 +32,10 @@ #endif using std::string; +using boost::weak_ptr; +using boost::shared_ptr; -SystemInformationDialog::SystemInformationDialog (wxWindow* parent) +SystemInformationDialog::SystemInformationDialog (wxWindow* parent, weak_ptr<FilmViewer> weak_viewer) : TableDialog (parent, _("System information"), 2, 1, false) { add (_("OpenGL version"), true); @@ -42,11 +46,20 @@ SystemInformationDialog::SystemInformationDialog (wxWindow* parent) add (_("unknown (OpenGL not enabled in DCP-o-matic)"), false); } + add (_("vsync"), true); -#if !defined(DCPOMATIC_LINUX) || defined(DCPOMATIC_HAVE_GLX_SWAP_INTERVAL_EXT) - add (_("enabled"), false); -#else - add (_("disabled"), false); -#endif + shared_ptr<FilmViewer> viewer = weak_viewer.lock (); + + if (!viewer) { + add (_("unknown"), false); + } else { + GLVideoView* gl = dynamic_cast<GLVideoView*>(viewer->panel()); + if (!gl) { + add (_("unknown"), false); + } else { + add (gl->vsync_enabled() ? _("enabled") : _("not enabled"), false); + } + } + layout (); } |
