提交 197c56c9 编写于 作者: J jp9000

add code to select renderer

上级 4f234952
......@@ -69,6 +69,14 @@ bool OBSApp::InitGlobalConfigDefaults()
uint32_t cx = monitors[0].cx;
uint32_t cy = monitors[0].cy;
#if _WIN32
config_set_default_string(globalConfig, "Video", "Renderer",
"Direct3D 11");
#else
config_set_default_string(globalConfig, "Video", "Renderer",
"OpenGL");
#endif
config_set_default_uint(globalConfig, "Video", "BaseCX", cx);
config_set_default_uint(globalConfig, "Video", "BaseCY", cy);
......
......@@ -36,12 +36,11 @@ static BOOL CALLBACK OBSMonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor,
{
vector<MonitorInfo> &monitors = *(vector<MonitorInfo> *)param;
MonitorInfo monitor;
monitor.x = rect->left;
monitor.y = rect->top;
monitor.cx = rect->right - rect->left;
monitor.cy = rect->bottom - rect->top;
monitors.push_back(monitor);
monitors.emplace_back(
rect->left,
rect->top,
rect->right - rect->left,
rect->bottom - rect->top);
return true;
}
......
......@@ -30,6 +30,7 @@ class BasicVideoData : public BasicSettingsData {
ConnectorList connections;
int AddRes(uint32_t cx, uint32_t cy);
void LoadOther();
void LoadResolutionData();
void LoadFPSData();
void LoadFPSCommon();
......@@ -41,6 +42,7 @@ class BasicVideoData : public BasicSettingsData {
void BaseResListChanged(wxCommandEvent &event);
void OutputResListChanged(wxCommandEvent &event);
void SaveOther();
void SaveFPSData();
void SaveFPSCommon();
void SaveFPSInteger();
......@@ -107,6 +109,24 @@ int BasicVideoData::AddRes(uint32_t cx, uint32_t cy)
return window->baseResList->Append(res.str().c_str());
}
void BasicVideoData::LoadOther()
{
const char *renderer = config_get_string(GetGlobalConfig(), "Video",
"Renderer");
window->rendererList->Clear();
window->rendererList->Append("OpenGL");
#ifdef _WIN32
window->rendererList->Append("Direct3D 11");
#endif
int sel = window->rendererList->FindString(renderer);
if (sel == wxNOT_FOUND)
sel = 0;
window->rendererList->SetSelection(sel);
}
void BasicVideoData::LoadResolutionData()
{
window->baseResList->Clear();
......@@ -243,6 +263,7 @@ BasicVideoData::BasicVideoData(OBSBasicSettings *window)
{
LoadResolutionData();
LoadFPSData();
LoadOther();
/* load connectors after loading data to prevent them from triggering */
connections.Add(window->baseResList, wxEVT_TEXT,
......@@ -289,6 +310,17 @@ void BasicVideoData::OutputResListChanged(wxCommandEvent &event)
window->videoChangedText->Show();
}
void BasicVideoData::SaveOther()
{
int sel = window->rendererList->GetSelection();
if (sel == wxNOT_FOUND)
return;
wxString renderer = window->rendererList->GetString(sel);
config_set_string(GetGlobalConfig(), "Video", "Renderer",
renderer.c_str());
}
void BasicVideoData::SaveFPSData()
{
int id = window->fpsTypeList->GetCurrentPage()->GetId();
......@@ -302,6 +334,7 @@ void BasicVideoData::SaveFPSData()
}
config_set_string(GetGlobalConfig(), "Video", "FPSType", type);
SaveOther();
SaveFPSCommon();
SaveFPSInteger();
SaveFPSFraction();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册