⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 options.cpp

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	m_WireMode.ResetContent();	m_WireMode.AddString(_T("Solid Draw"));	m_WireMode.AddString(_T("Wireframe"));	m_WireMode.AddString(_T("Both"));	sOpt = gf_cfg_get_key(gpac->m_user.config, "Render3D", "Wireframe");	if (sOpt && !stricmp(sOpt, "WireOnly")) m_WireMode.SetCurSel(1);	else if (sOpt && !stricmp(sOpt, "WireOnSolid")) m_WireMode.SetCurSel(2);	else m_WireMode.SetCurSel(0);	m_DrawNormals.ResetContent();	m_DrawNormals.AddString(_T("Never"));	m_DrawNormals.AddString(_T("Per Face"));	m_DrawNormals.AddString(_T("Per Vertex"));	sOpt = gf_cfg_get_key(gpac->m_user.config, "Render3D", "DrawNormals");	if (sOpt && !stricmp(sOpt, "PerFace")) m_DrawNormals.SetCurSel(1);	else if (sOpt && !stricmp(sOpt, "PerVertex")) m_DrawNormals.SetCurSel(2);	else m_DrawNormals.SetCurSel(0);	m_bNeedsReload = 0;	return TRUE;  }void COptRender3D::SaveOptions(){	COsmo4 *gpac = GetApp();	u32 sel = m_DrawNormals.GetCurSel();	gf_cfg_set_key(gpac->m_user.config, "Render3D", "DrawNormals", (sel==2) ? "PerVertex" : (sel==1) ? "PerFace" : "Never");		sel = m_WireMode.GetCurSel();	gf_cfg_set_key(gpac->m_user.config, "Render3D", "Wireframe", (sel==2) ? "WireOnSolid" : (sel==1) ? "WireOnly" : "WireNone");	gf_cfg_set_key(gpac->m_user.config, "Render3D", "BackFaceCulling", m_NoBackFace.GetCheck() ? "Off" : "On");	gf_cfg_set_key(gpac->m_user.config, "Render3D", "EmulatePOW2", m_EmulatePOW2.GetCheck() ? "yes" : "no");	m_bNeedsReload = 0;	const char *opt = gf_cfg_get_key(gpac->m_user.config, "Rendering", "RendererName");	if (!opt || strstr(opt, "2D")) {		if (!m_Use3DRender.GetCheck()) return;		gf_cfg_set_key(gpac->m_user.config, "Rendering", "RendererName", "GPAC 3D Renderer");		m_bNeedsReload = 1;	} else if (! m_Use3DRender.GetCheck()) {		gf_cfg_set_key(gpac->m_user.config, "Rendering", "RendererName", "GPAC 2D Renderer");		m_bNeedsReload = 1;	}}COptStream::COptStream(CWnd* pParent /*=NULL*/)	: CDialog(COptStream::IDD, pParent){	//{{AFX_DATA_INIT(COptStream)	//}}AFX_DATA_INIT}void COptStream::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	//{{AFX_DATA_MAP(COptStream)	DDX_Control(pDX, IDC_REBUFFER_LEN, m_RebufferLen);	DDX_Control(pDX, IDC_REBUFFER, m_Rebuffer);	DDX_Control(pDX, IDC_BUFFER, m_Buffer);	DDX_Control(pDX, IDC_TIMEOUT, m_Timeout);	DDX_Control(pDX, IDC_REORDER, m_Reorder);	DDX_Control(pDX, IDC_RTSP, m_UseRTSP);	DDX_Control(pDX, IDC_PORT, m_Port);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(COptStream, CDialog)	//{{AFX_MSG_MAP(COptStream)	ON_CBN_SELCHANGE(IDC_PORT, OnSelchangePort)	ON_BN_CLICKED(IDC_RTSP, OnRtsp)	ON_BN_CLICKED(IDC_REBUFFER, OnRebuffer)	ON_EN_UPDATE(IDC_REBUFFER_LEN, OnUpdateRebufferLen)	ON_EN_UPDATE(IDC_BUFFER, OnUpdateBuffer)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// COptStream message handlersBOOL COptStream::OnInitDialog() {	CDialog::OnInitDialog();	COsmo4 *gpac = GetApp();	TCHAR wTmp[500];	const char *sOpt;	while (m_Port.GetCount()) m_Port.DeleteString(0);	m_Port.AddString(_T("554 (RTSP standard)"));	m_Port.AddString(_T("7070 (RTSP ext)"));	m_Port.AddString(_T("80 (RTSP / HTTP tunnel)"));	m_Port.AddString(_T("8080 (RTSP / HTTP tunnel)"));	sOpt = gf_cfg_get_key(gpac->m_user.config, "Streaming", "DefaultPort");	u32 port = 554;	Bool force_rtsp = 0;;	if (sOpt) port = atoi(sOpt);	switch (port) {	case 8080:		m_Port.SetCurSel(3);		force_rtsp = 1;		break;	case 80:		m_Port.SetCurSel(2);		force_rtsp = 1;		break;	case 7070:		m_Port.SetCurSel(1);		break;	default:		m_Port.SetCurSel(0);		break;	}	Bool use_rtsp = 0;	sOpt = gf_cfg_get_key(gpac->m_user.config, "Streaming", "RTPoverRTSP");	if (sOpt && !stricmp(sOpt, "yes")) use_rtsp = 1;	if (force_rtsp) {		m_UseRTSP.SetCheck(1);		m_UseRTSP.EnableWindow(0);		m_Reorder.SetCheck(0);		m_Reorder.EnableWindow(0);	} else {		m_UseRTSP.SetCheck(use_rtsp);		m_UseRTSP.EnableWindow(1);		m_Reorder.EnableWindow(1);		sOpt = gf_cfg_get_key(gpac->m_user.config, "Streaming", "ReorderSize");		if (sOpt && !stricmp(sOpt, "0")) {			m_Reorder.SetCheck(0);		} else {			m_Reorder.SetCheck(1);		}	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "Streaming", "RTSPTimeout");	if (sOpt) {		CE_CharToWide((char *) sOpt, wTmp);		m_Timeout.SetWindowText(wTmp);	} else {		m_Timeout.SetWindowText(_T("30000"));	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "Network", "BufferLength");	if (sOpt) {		CE_CharToWide((char *) sOpt, wTmp);		m_Buffer.SetWindowText(wTmp);	} else {		m_Buffer.SetWindowText(_T("3000"));	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "Network", "RebufferLength");	u32 buf_len = 0;	if (sOpt) buf_len = atoi(sOpt);	if (buf_len) {		CE_CharToWide((char *) sOpt, wTmp);		m_RebufferLen.SetWindowText(wTmp);		m_Rebuffer.SetCheck(1);		m_RebufferLen.EnableWindow(1);	} else {		m_RebufferLen.SetWindowText(_T("0"));		m_Rebuffer.SetCheck(0);		m_RebufferLen.EnableWindow(0);	}	return TRUE;  }void COptStream::OnSelchangePort() {	s32 sel = m_Port.GetCurSel();	switch (sel) {	case 3:	case 2:		m_UseRTSP.SetCheck(1);		m_UseRTSP.EnableWindow(0);		m_Reorder.SetCheck(0);		m_Reorder.EnableWindow(0);		break;	case 1:	default:		m_UseRTSP.SetCheck(0);		m_UseRTSP.EnableWindow(1);		m_Reorder.SetCheck(1);		m_Reorder.EnableWindow(1);		break;	}}void COptStream::OnRtsp() {	if (m_UseRTSP.GetCheck()) {		m_Reorder.SetCheck(0);		m_Reorder.EnableWindow(0);	} else {		m_Reorder.SetCheck(1);		m_Reorder.EnableWindow(1);	}	}void COptStream::CheckRebuffer(){	TCHAR wstr[50];	char str[50];	s32 buf, rebuf;	m_Buffer.GetWindowText(wstr, 50);	CE_WideToChar(wstr, str);	buf = atoi(str);	m_RebufferLen.GetWindowText(wstr, 50);	CE_WideToChar(wstr, str);	rebuf = atoi(str);	if (rebuf*2 > buf) {		rebuf = buf/2;		wsprintf(wstr, _T("%d"), rebuf);		m_RebufferLen.SetWindowText(wstr);	}}void COptStream::OnRebuffer() {	if (!m_Rebuffer.GetCheck()) {		m_RebufferLen.EnableWindow(0);	} else {		m_RebufferLen.EnableWindow(1);		CheckRebuffer();	}}void COptStream::OnUpdateRebufferLen() {	CheckRebuffer();}void COptStream::OnUpdateBuffer() {	CheckRebuffer();	}void COptStream::SaveOptions(){	COsmo4 *gpac = GetApp();	Bool force_rtsp = 0;	s32 sel = m_Port.GetCurSel();	switch (sel) {	case 3:		gf_cfg_set_key(gpac->m_user.config, "Streaming", "DefaultPort", "8080");		force_rtsp = 1;		break;	case 2:		gf_cfg_set_key(gpac->m_user.config, "Streaming", "DefaultPort", "80");		force_rtsp = 1;		break;	case 1:		gf_cfg_set_key(gpac->m_user.config, "Streaming", "DefaultPort", "7070");		break;	default:		gf_cfg_set_key(gpac->m_user.config, "Streaming", "DefaultPort", "554");		break;	}	if (force_rtsp) {		gf_cfg_set_key(gpac->m_user.config, "Streaming", "RTPoverRTSP", "yes");	} else {		gf_cfg_set_key(gpac->m_user.config, "Streaming", "RTPoverRTSP", m_UseRTSP.GetCheck() ? "yes" : "no");		if (!m_UseRTSP.GetCheck()) gf_cfg_set_key(gpac->m_user.config, "Streaming", "ReorderSize", m_Reorder.GetCheck() ? "30" : "0");	}	TCHAR wstr[50];	char str[50];	m_Timeout.GetWindowText(wstr, 50);	CE_WideToChar(wstr, str);	gf_cfg_set_key(gpac->m_user.config, "Streaming", "RTSPTimeout", str);	m_Buffer.GetWindowText(wstr, 50);	CE_WideToChar(wstr, str);	gf_cfg_set_key(gpac->m_user.config, "Network", "BufferLength", str);	if (m_Rebuffer.GetCheck()) {		m_RebufferLen.GetWindowText(wstr, 50);		CE_WideToChar(wstr, str);		gf_cfg_set_key(gpac->m_user.config, "Network", "RebufferLength", str);	} else {		gf_cfg_set_key(gpac->m_user.config, "Network", "RebufferLength", "0");	}}COptSystems::COptSystems(CWnd* pParent /*=NULL*/)	: CDialog(COptSystems::IDD, pParent){	//{{AFX_DATA_INIT(COptSystems)		// NOTE: the ClassWizard will add member initialization here	//}}AFX_DATA_INIT}void COptSystems::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	//{{AFX_DATA_MAP(COptSystems)	DDX_Control(pDX, IDC_FORCE_DURATION, m_ForceDuration);	DDX_Control(pDX, IDC_DEC_THREAD, m_Threading);	DDX_Control(pDX, IDC_BIFSDROP, m_BifsAlwaysDrawn);	DDX_Control(pDX, IDC_LANG, m_Lang);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(COptSystems, CDialog)	//{{AFX_MSG_MAP(COptSystems)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// COptSystems message handlersBOOL COptSystems::OnInitDialog() {	CDialog::OnInitDialog();		COsmo4 *gpac = GetApp();	const char *sOpt;	sOpt = gf_cfg_get_key(gpac->m_user.config, "Systems", "Language3CC");	if (!sOpt) sOpt = "eng";	s32 select = 0;	while (m_Lang.GetCount()) m_Lang.DeleteString(0);	u32 i=0;	while (GF_ISO639_Lang[i]) {		TCHAR szTmp[100];		/*only use common languages (having both 2- and 3-char code names)*/		if (GF_ISO639_Lang[i+2][0]) {			CE_CharToWide( (char *)GF_ISO639_Lang[i], szTmp);			m_Lang.AddString(szTmp);			if (sOpt && !stricmp(sOpt, GF_ISO639_Lang[i+1])) select = m_Lang.GetCount() - 1;		}		i+=3;	}	m_Lang.SetCurSel(select);		/*system config*/	sOpt = gf_cfg_get_key(gpac->m_user.config, "Systems", "ThreadingPolicy");	select = 0;	while (m_Threading.GetCount()) m_Threading.DeleteString(0);	m_Threading.AddString(_T("Single Thread"));	m_Threading.AddString(_T("Mutli Thread"));	if (sOpt && !stricmp(sOpt, "Multi")) select = 1;	m_Threading.AddString(_T("Free"));	if (sOpt && !stricmp(sOpt, "Free")) select = 2;	m_Threading.SetCurSel(select);	sOpt = gf_cfg_get_key(gpac->m_user.config, "Systems", "ForceSingleClock");	if (sOpt && !stricmp(sOpt, "yes")) {		m_ForceDuration.SetCheck(1);	} else {		m_ForceDuration.SetCheck(0);	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "Systems", "AlwaysDrawBIFS");	if (sOpt && !stricmp(sOpt, "yes")) {		m_BifsAlwaysDrawn.SetCheck(1);	} else {		m_BifsAlwaysDrawn.SetCheck(0);	}		return TRUE; }void COptSystems::SaveOptions(){	COsmo4 *gpac = GetApp();	s32 sel = m_Lang.GetCurSel();	u32 i=0;	while (GF_ISO639_Lang[i]) {		/*only use common languages (having both 2- and 3-char code names)*/		if (GF_ISO639_Lang[i+2][0]) {			if (!sel) break;			sel--;		}		i+=3;	}	gf_cfg_set_key(gpac->m_user.config, "Systems", "LanguageName", GF_ISO639_Lang[i]);	gf_cfg_set_key(gpac->m_user.config, "Systems", "Language3CC", GF_ISO639_Lang[i+1]);	gf_cfg_set_key(gpac->m_user.config, "Systems", "Language2CC", GF_ISO639_Lang[i+2]);	sel = m_Threading.GetCurSel();	gf_cfg_set_key(gpac->m_user.config, "Systems", "ThreadingPolicy", (sel==0) ? "Single" : ( (sel==1) ? "Multi" : "Free"));	/*reset duration flag*/	gpac->m_duration = (u32) -1;	gf_cfg_set_key(gpac->m_user.config, "Systems", "ForceSingleClock", m_ForceDuration.GetCheck() ? "yes" : "no");	gf_cfg_set_key(gpac->m_user.config, "Systems", "AlwaysDrawBIFS", m_BifsAlwaysDrawn.GetCheck() ? "yes" : "no");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -