made it so that preview panel scales based upon window size
parent
a8d9c5b25c
commit
85374daa94
|
@ -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;}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue