auto const view_ratio = float(_video_view->get()->GetSize().x) / _video_view->get()->GetSize().y;
auto const film_ratio = container ? container->ratio () : 1.78;
+ dcp::Size out_size;
if (view_ratio < film_ratio) {
/* panel is less widscreen than the film; clamp width */
- _out_size.width = _video_view->get()->GetSize().x;
- _out_size.height = lrintf (_out_size.width / film_ratio);
+ out_size.width = _video_view->get()->GetSize().x;
+ out_size.height = lrintf (out_size.width / film_ratio);
} else {
/* panel is more widescreen than the film; clamp height */
- _out_size.height = _video_view->get()->GetSize().y;
- _out_size.width = lrintf (_out_size.height * film_ratio);
+ out_size.height = _video_view->get()->GetSize().y;
+ out_size.width = lrintf (out_size.height * film_ratio);
}
/* Catch silly values */
- _out_size.width = max (64, _out_size.width);
- _out_size.height = max (64, _out_size.height);
+ out_size.width = max (64, out_size.width);
+ out_size.height = max (64, out_size.height);
- _player->set_video_container_size (_out_size);
+ _player->set_video_container_size (out_size);
}
}
/* Some accessors and utility methods that VideoView classes need */
- dcp::Size out_size () const {
- return _out_size;
- }
bool outline_content () const {
return _outline_content;
}
bool _coalesce_player_changes = false;
std::vector<int> _pending_player_changes;
- /** Size of our output (including padding if we have any) */
- dcp::Size _out_size;
-
RtAudio _audio;
int _audio_channels = 0;
unsigned int _audio_block_size = 1024;
_state_timer.set("paint-panel");
wxPaintDC dc (_panel);
- dcp::Size const out_size = _viewer->out_size ();
- wxSize const panel_size = _panel->GetSize ();
+ auto const panel_size = _panel->GetSize ();
- if (!out_size.width || !out_size.height || !_image || out_size != _image->size()) {
+ dcp::Size out_size;
+ if (!_image) {
dc.Clear ();
} else {
+ out_size = _image->size();
wxImage frame (out_size.width, out_size.height, _image->data()[0], true);
wxBitmap frame_bitmap (frame);
dc.DrawBitmap (frame_bitmap, 0, max(0, (panel_size.GetHeight() - out_size.height) / 2));