Account for DPI scale factors when calculating some sizes (#2118).
[dcpomatic.git] / src / wx / gl_video_view.cc
index 877cd5125fec15cf1ee547e8cd315c38023dfd0b..559cff4136c1bfea40459e4b2892ecb2abe5d7be 100644 (file)
@@ -103,12 +103,15 @@ GLVideoView::GLVideoView (FilmViewer* viewer, wxWindow *parent)
 void
 GLVideoView::size_changed (wxSizeEvent const& ev)
 {
-       _canvas_size = ev.GetSize ();
+       auto const scale = _canvas->GetDPIScaleFactor();
+       int const width = std::round(ev.GetSize().GetWidth() * scale);
+       int const height = std::round(ev.GetSize().GetHeight() * scale);
+       _canvas_size = { width, height };
+       LOG_GENERAL("GLVideoView canvas size changed to %1x%2", width, height);
        Sized ();
 }
 
 
-
 GLVideoView::~GLVideoView ()
 {
        boost::this_thread::disable_interruption dis;