浏览代码

make window automatically resize the graphics display to ensure sources draw properly

jp9000 11 年之前
父节点
当前提交
c2593eb390
共有 1 个文件被更改,包括 8 次插入4 次删除
  1. 8 4
      obs/window-basic-main.cpp

+ 8 - 4
obs/window-basic-main.cpp

@@ -156,13 +156,17 @@ void OBSBasic::OnSize(wxSizeEvent &event)
 	wxSize targetSize   = GetPreviewContainer()->GetSize();
 	double targetAspect = double(targetSize.x) / double(targetSize.y);
 	double baseAspect   = double(ovi.base_width) / double(ovi.base_height);
+	wxSize newSize;
 
 	if (targetAspect > baseAspect)
-		GetPreviewPanel()->SetMinSize(wxSize(targetSize.y * baseAspect,
-				targetSize.y));
+		newSize = wxSize(targetSize.y * baseAspect, targetSize.y);
 	else
-		GetPreviewPanel()->SetMinSize(wxSize(targetSize.x,
-				targetSize.x / baseAspect));
+		newSize = wxSize(targetSize.x, targetSize.x / baseAspect);
+
+	GetPreviewPanel()->SetMinSize(newSize);
+	gs_entercontext(obs_graphics());
+	gs_resize(newSize.x, newSize.y);
+	gs_leavecontext();
 }
 
 void OBSBasic::fileNewClicked(wxCommandEvent &event)