X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fgl_video_view.cc;h=0b1e7aeab94be33d721e42f6cc4ffae7469fd852;hp=877cd5125fec15cf1ee547e8cd315c38023dfd0b;hb=c80f7a440de73dead499764b4073d39d54c68b9f;hpb=7371f01c57d5f690c4175b1875d339fa5cbd49ae diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc index 877cd5125..0b1e7aeab 100644 --- a/src/wx/gl_video_view.cc +++ b/src/wx/gl_video_view.cc @@ -30,12 +30,13 @@ #include "film_viewer.h" #include "wx_util.h" -#include "lib/image.h" +#include "lib/butler.h" +#include "lib/cross.h" #include "lib/dcpomatic_assert.h" +#include "lib/dcpomatic_log.h" #include "lib/exceptions.h" -#include "lib/cross.h" +#include "lib/image.h" #include "lib/player_video.h" -#include "lib/butler.h" #include #include @@ -103,12 +104,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; @@ -504,7 +508,7 @@ GLVideoView::draw () void GLVideoView::set_image (shared_ptr pv) { - shared_ptr video = _optimise_for_j2k ? pv->raw_image() : pv->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, true); + shared_ptr video = _optimise_for_j2k ? pv->raw_image() : pv->image(boost::bind(&PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, true); /* Only the player's black frames should be aligned at this stage, so this should * almost always have no work to do. @@ -513,7 +517,7 @@ GLVideoView::set_image (shared_ptr pv) /** If _optimise_for_j2k is true we render a XYZ image, doing the colourspace * conversion, scaling and video range conversion in the GL shader. - * Othewise we render a RGB image without any shader-side processing. + * Otherwise we render a RGB image without any shader-side processing. */ /* XXX: video range conversion */