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;
glBufferSubData (GL_ARRAY_BUFFER, 0, video.size(), video.vertices());
check_gl_error ("glBufferSubData (video)");
- const auto border = Rectangle(canvas_size, inter_position.x, inter_position.y, inter_size);
+ const auto border = Rectangle(canvas_size, inter_position.x + x_offset, inter_position.y + y_offset, inter_size);
glBufferSubData (GL_ARRAY_BUFFER, 8 * 5 * sizeof(float), border.size(), border.vertices());
check_gl_error ("glBufferSubData (border)");
}