diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-02-21 10:47:38 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-02-21 18:48:53 +0100 |
| commit | 3ffd0163026be24e5373e0674c3301ed37546e44 (patch) | |
| tree | 918e6de08fb1efff2098148295fa60a614102c8e /src/wx/content_menu.cc | |
| parent | a9b1c1cb65e1902a64430977cf698054e131a6f4 (diff) | |
Make DCPExaminer::size() optional and deal with the consequences.v2.16.78
This means we can fix the case of a VF having no known size in a nice way,
in turn fixing problems caused by the fix to #2775.
Diffstat (limited to 'src/wx/content_menu.cc')
| -rw-r--r-- | src/wx/content_menu.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc index 700683bd2..4af5a71b7 100644 --- a/src/wx/content_menu.cc +++ b/src/wx/content_menu.cc @@ -548,12 +548,13 @@ ContentMenu::auto_crop () DCPOMATIC_ASSERT (film); auto const content = _content.front(); auto const current_crop = content->video->actual_crop(); + auto const video_size_guess = content->video->size().get_value_or(dcp::Size(1998, 1080)); _viewer.set_crop_guess( dcpomatic::Rect<float>( - static_cast<float>(std::max(0, crop.left - current_crop.left)) / content->video->size().width, - static_cast<float>(std::max(0, crop.top - current_crop.top)) / content->video->size().height, - 1.0f - (static_cast<float>(std::max(0, crop.left - current_crop.left + crop.right - current_crop.right)) / content->video->size().width), - 1.0f - (static_cast<float>(std::max(0, crop.top - current_crop.top + crop.bottom - current_crop.bottom)) / content->video->size().height) + static_cast<float>(std::max(0, crop.left - current_crop.left)) / video_size_guess.width, + static_cast<float>(std::max(0, crop.top - current_crop.top)) / video_size_guess.height, + 1.0f - (static_cast<float>(std::max(0, crop.left - current_crop.left + crop.right - current_crop.right)) / video_size_guess.width), + 1.0f - (static_cast<float>(std::max(0, crop.top - current_crop.top + crop.bottom - current_crop.bottom)) / video_size_guess.height) )); }; |
