提交 85374daa 编写于 作者: J jp9000

made it so that preview panel scales based upon window size

上级 a8d9c5b2
......@@ -21,6 +21,33 @@
void OBSBasic::OnClose(wxCloseEvent& event)
{
wxGetApp().ExitMainLoop();
event.Skip();
}
void OBSBasic::OnMinimize(wxIconizeEvent& event)
{
event.Skip();
}
void OBSBasic::OnSize(wxSizeEvent& event)
{
struct obs_video_info ovi;
event.Skip();
if (!obs_get_video_info(&ovi))
return;
wxSize targetSize = GetPreviewContainer()->GetSize();
double targetAspect = double(targetSize.x) / double(targetSize.y);
double baseAspect = double(ovi.base_width) / double(ovi.base_height);
if (targetAspect > baseAspect)
GetPreviewPanel()->SetMinSize(wxSize(targetSize.y * baseAspect,
targetSize.y));
else
GetPreviewPanel()->SetMinSize(wxSize(targetSize.x,
targetSize.x / baseAspect));
}
void OBSBasic::file_newOnMenuSelection(wxCommandEvent& event)
......
......@@ -22,6 +22,8 @@
class OBSBasic : public OBSBasicBase {
protected:
virtual void OnClose(wxCloseEvent& event);
virtual void OnMinimize(wxIconizeEvent& event);
virtual void OnSize(wxSizeEvent& event);
virtual void file_newOnMenuSelection(wxCommandEvent& event);
virtual void file_openOnMenuSelection(wxCommandEvent& event);
virtual void file_saveOnMenuSelection(wxCommandEvent& event);
......@@ -42,5 +44,6 @@ protected:
public:
inline OBSBasic() : OBSBasicBase(NULL) {}
inline const wxPanel *GetPreviewPanel() const {return previewPanel;}
inline wxPanel *GetPreviewPanel() {return previewPanel;}
inline wxSizer *GetPreviewContainer() {return previewContainer;}
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册