From 9c93198c3b8cf7a693e3412878ba07cd9742c890 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Fri, 13 Aug 2010 05:51:26 +0000 Subject: [PATCH] Honor the user's default zoom when possible rather than always overriding it based on the size of the window Originally committed to SVN as r4740. --- aegisub/src/frame_main.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/aegisub/src/frame_main.cpp b/aegisub/src/frame_main.cpp index 5205e9edf..7db2bd30e 100644 --- a/aegisub/src/frame_main.cpp +++ b/aegisub/src/frame_main.cpp @@ -1099,13 +1099,12 @@ void FrameMain::LoadVideo(wxString file,bool autoload) { int vidx = VideoContext::Get()->GetWidth(), vidy = VideoContext::Get()->GetHeight(); // Set zoom level based on video resolution and window size - double target_zoom = 1.; + double zoom = videoBox->videoDisplay->GetZoom(); wxSize windowSize = GetSize(); - if (vidx*3 > windowSize.GetX()*2 || vidy*4 > windowSize.GetY()*3) - target_zoom = .5; - if (vidx*3 > windowSize.GetX()*4 || vidy*4 > windowSize.GetY()*6) - target_zoom = .25; - videoBox->videoDisplay->SetZoom(target_zoom); + if (vidx*3*zoom > windowSize.GetX()*4 || vidy*4*zoom > windowSize.GetY()*6) + videoBox->videoDisplay->SetZoom(zoom * .25); + else if (vidx*3*zoom > windowSize.GetX()*2 || vidy*4*zoom > windowSize.GetY()*3) + videoBox->videoDisplay->SetZoom(zoom * .5); // Check that the video size matches the script video size specified int scriptx = SubsGrid->ass->GetScriptInfoAsInt(_T("PlayResX"));