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

📄 options.cpp

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		if (!ifce) continue;		if (sOpt && !stricmp(((GF_BaseInterface *)ifce)->module_name, sOpt)) select = to_sel;		CE_CharToWide((char *) ifce->module_name, wTmp);		m_Fonts.AddString(wTmp);		gf_modules_close_interface(ifce);		to_sel++;	}	m_Fonts.SetCurSel(select);		sOpt = gf_cfg_get_key(gpac->m_user.config, "FontEngine", "FontDirectory");	CE_CharToWide((char *)sOpt, wTmp);	if (sOpt) m_BrowseFont.SetWindowText(wTmp);	sOpt = gf_cfg_get_key(gpac->m_user.config, "FontEngine", "TextureTextMode");	m_UseTexture.SetCheck( (!sOpt || stricmp(sOpt, "Never")) ? 1 : 0);	return TRUE;  }void COptFont::OnBrowseFont() {}void COptFont::SaveOptions(){	COsmo4 *gpac = GetApp();	char str[MAX_PATH];	TCHAR wstr[MAX_PATH];			m_Fonts.GetWindowText(wstr, 50);	CE_WideToChar(wstr, str);	gf_cfg_set_key(gpac->m_user.config, "FontEngine", "DriverName", str);	m_BrowseFont.GetWindowText(wstr, 50);	CE_WideToChar(wstr, str);	gf_cfg_set_key(gpac->m_user.config, "FontEngine", "FontDirectory", str);	gf_cfg_set_key(gpac->m_user.config, "FontEngine", "TextureTextMode", m_UseTexture.GetCheck() ? "Always" : "Never");}COptGen::COptGen(CWnd* pParent /*=NULL*/)	: CDialog(COptGen::IDD, pParent){	//{{AFX_DATA_INIT(COptGen)	//}}AFX_DATA_INIT}void COptGen::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	//{{AFX_DATA_MAP(COptGen)	DDX_Control(pDX, IDC_NO_BACKLIGHT, m_NoBacklight);	DDX_Control(pDX, IDC_FILL_SCREEN, m_Fill);	DDX_Control(pDX, IDC_LOOP, m_Loop);	DDX_Control(pDX, IDC_ENABLE_LOGS, m_Logs);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(COptGen, CDialog)	//{{AFX_MSG_MAP(COptGen)	ON_BN_CLICKED(IDC_FILEASSOC, OnFileassoc)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// COptGen message handlersBOOL COptGen::OnInitDialog() {	CDialog::OnInitDialog();	COsmo4 *gpac = GetApp();	const char *sOpt;		sOpt = gf_cfg_get_key(gpac->m_user.config, "General", "Loop");	if (sOpt && !stricmp(sOpt, "yes")) {		m_Loop.SetCheck(1);	} else {		m_Loop.SetCheck(0);	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "General", "FillScreen");	m_Fill.SetCheck((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(gpac->m_user.config, "General", "DisableBackLight");	m_NoBacklight.SetCheck((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(gpac->m_user.config, "General", "LogLevel");	m_Logs.SetCheck((sOpt && !stricmp(sOpt, "debug")) ? 1 : 0);	return TRUE; }void COptGen::SaveOptions(){	COsmo4 *gpac = GetApp();	gpac->m_Loop = m_Loop.GetCheck();	gf_cfg_set_key(gpac->m_user.config, "General", "Loop", gpac->m_Loop ? "yes" : "no");	gpac->m_fit_screen = m_Fill.GetCheck();	gf_cfg_set_key(gpac->m_user.config, "General", "FillScreen", gpac->m_fit_screen ? "yes" : "no");	gpac->m_disable_backlight = m_NoBacklight.GetCheck();	gf_cfg_set_key(gpac->m_user.config, "General", "DisableBackLight", gpac->m_disable_backlight ? "yes" : "no");	gpac->EnableLogs(m_Logs.GetCheck() ? 1 : 0);}void COptGen::OnFileassoc() {	HKEY hSection;	TCHAR szDir[MAX_PATH];	char szTemp[MAX_PATH];	TCHAR cmd[MAX_PATH];	DWORD ioSize = MAX_PATH;	DWORD dwDisp;	RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Osmo4"), 0, KEY_READ, &hSection);	wcscpy(szDir, AfxGetApp()->m_pszHelpFilePath);	while (szDir[strlen((char *) szDir)-1] != (TCHAR) '\\') szDir[strlen((char *) szDir)-1] = 0;	if (!hSection) 		RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Osmo4"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSection, &dwDisp);	CE_WideToChar(szDir, szTemp);	/*overwrite install dir with current path*/	RegSetValueEx(hSection, _T("Install_Dir"), 0, REG_SZ, (const unsigned char *) szTemp, strlen(szTemp)+1);	RegCloseKey(hSection);	/*overwrite .mp4 file associations */	RegCreateKeyEx(HKEY_CLASSES_ROOT, _T("mp4file\\DefaultIcon"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSection, &dwDisp);	wcscpy(cmd, szDir);	wcscat(cmd, _T("Osmo4.ico") );	CE_WideToChar(cmd, szTemp);	RegSetValueEx(hSection, _T(""), 0, REG_SZ, (const unsigned char *) szTemp, strlen((const char *) szTemp)+1);	RegCloseKey(hSection);	RegCreateKeyEx(HKEY_CLASSES_ROOT, _T("mp4file\\Shell\\open\\command"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSection, &dwDisp);	wcscpy(cmd, szDir);	wcscat(cmd, _T("Osmo4.exe \"%L\"") );	CE_WideToChar(cmd, szTemp);	RegSetValueEx(hSection, _T(""), 0, REG_SZ, (const unsigned char *) szTemp, strlen(szTemp)+1);	RegCloseKey(hSection);	RegCreateKeyEx(HKEY_CLASSES_ROOT, _T(".mp4"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSection, &dwDisp);	RegSetValueEx(hSection, _T(""), 0, REG_SZ, (const unsigned char *) "mp4file", strlen("mp4file")+1);	RegCloseKey(hSection);}COptHTTP::COptHTTP(CWnd* pParent /*=NULL*/)	: CDialog(COptHTTP::IDD, pParent){	//{{AFX_DATA_INIT(COptHTTP)	//}}AFX_DATA_INIT}void COptHTTP::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	//{{AFX_DATA_MAP(COptHTTP)	DDX_Control(pDX, IDC_RESTART_CACHE, m_RestartFile);	DDX_Control(pDX, IDC_CLEAN_CACHE, m_CleanCache);	DDX_Control(pDX, IDC_BROWSE_CACHE, m_CacheDir);	DDX_Control(pDX, IDC_SAX_PROGRESSIVE, m_Progressive);	DDX_Control(pDX, IDC_SAX_DURATION, m_SaxDuration);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(COptHTTP, CDialog)	//{{AFX_MSG_MAP(COptHTTP)	ON_BN_CLICKED(IDC_BROWSE_CACHE, OnBrowseCache)	ON_BN_CLICKED(IDC_SAX_PROGRESSIVE, OnProgressive)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// COptHTTP message handlersvoid COptHTTP::OnBrowseCache() {}BOOL COptHTTP::OnInitDialog() {	CDialog::OnInitDialog();		COsmo4 *gpac = GetApp();	TCHAR wTmp[500];	const char *sOpt;	sOpt = gf_cfg_get_key(gpac->m_user.config, "Downloader", "CleanCache");	m_CleanCache.SetCheck((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(gpac->m_user.config, "Downloader", "RestartFiles");	m_RestartFile.SetCheck((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(gpac->m_user.config, "SAXLoader", "Progressive");	m_Progressive.SetCheck((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(gpac->m_user.config, "SAXLoader", "MaxDuration");	if (sOpt) {		CE_CharToWide((char *) sOpt, wTmp);		m_SaxDuration.SetWindowText(wTmp);	} else {		m_SaxDuration.SetWindowText( _T("30") );	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "General", "CacheDirectory");	CE_CharToWide((char *) sOpt, wTmp);	if (sOpt) m_CacheDir.SetWindowText(wTmp);		OnProgressive();	return TRUE; }void COptHTTP::OnProgressive(){	m_SaxDuration.EnableWindow( m_Progressive.GetCheck() ? TRUE : FALSE );}void COptHTTP::SaveOptions(){	TCHAR wTmp[500];	char szCacheDir[500];	COsmo4 *gpac = GetApp();	gf_cfg_set_key(gpac->m_user.config, "Downloader", "CleanCache", m_CleanCache.GetCheck() ? "yes" : "no");	gf_cfg_set_key(gpac->m_user.config, "Downloader", "RestartFiles", m_RestartFile.GetCheck() ? "yes" : "no");	gf_cfg_set_key(gpac->m_user.config, "SAXLoader", "Progressive", m_Progressive.GetCheck() ? "yes" : "no");	m_SaxDuration.GetWindowText(wTmp, MAX_PATH);	CE_WideToChar(wTmp, szCacheDir);	gf_cfg_set_key(gpac->m_user.config, "SAXLoader", "MaxDuration", szCacheDir);	m_CacheDir.GetWindowText(wTmp, MAX_PATH);	CE_WideToChar(wTmp, szCacheDir);	gf_cfg_set_key(gpac->m_user.config, "General", "CacheDirectory", szCacheDir);}COptRender::COptRender(CWnd* pParent /*=NULL*/)	: CDialog(COptRender::IDD, pParent){	//{{AFX_DATA_INIT(COptRender)	//}}AFX_DATA_INIT}void COptRender::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	//{{AFX_DATA_MAP(COptRender)	DDX_Control(pDX, IDC_AA_LIST, m_Antialias);	DDX_Control(pDX, IDC_FORCE_SIZE, m_ForceSize);	DDX_Control(pDX, IDC_FAST_RENDER, m_FastRender);	DDX_Control(pDX, IDC_ZOOM_SCALABLE, m_Scalable);	DDX_Control(pDX, IDC_DIRECTRENDER, m_DirectRender);	DDX_Control(pDX, IDC_BIFS_RATE, m_BIFSRate);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(COptRender, CDialog)	//{{AFX_MSG_MAP(COptRender)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// COptRender message handlers#define NUM_RATES 11static char *BIFSRates[11] = {	"5.0",	"7.5",	"10.0",	"12.5",	"15.0",	"24.0",	"25.0",	"30.0",	"50.0",	"60.0",	"100.0",};BOOL COptRender::OnInitDialog() {	CDialog::OnInitDialog();		COsmo4 *gpac = GetApp();	const char *sOpt;		sOpt = gf_cfg_get_key(gpac->m_user.config, "Render2D", "DirectRender");	if (sOpt && !stricmp(sOpt, "yes")) {		m_DirectRender.SetCheck(1);	} else {		m_DirectRender.SetCheck(0);	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "Render2D", "ScalableZoom");	if (sOpt && !stricmp(sOpt, "no")) {		m_Scalable.SetCheck(0);	} else {		m_Scalable.SetCheck(1);	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "Rendering", "ForceSceneSize");	if (sOpt && !stricmp(sOpt, "yes")) {		m_ForceSize.SetCheck(1);	} else {		m_ForceSize.SetCheck(0);	}	sOpt = gf_cfg_get_key(gpac->m_user.config, "Rendering", "FrameRate");	if (!sOpt) sOpt = "30.0";	s32 select = 0;	while (m_BIFSRate.GetCount()) m_BIFSRate.DeleteString(0);	for (s32 i = 0; i<NUM_RATES; i++) {		TCHAR szText[100];		CE_CharToWide(BIFSRates[i], szText);		m_BIFSRate.AddString(szText);		if (sOpt && !stricmp(sOpt, BIFSRates[i]) ) select = i;	}	m_BIFSRate.SetCurSel(select);		sOpt = gf_cfg_get_key(gpac->m_user.config, "Rendering", "FastRender");	m_FastRender.SetCheck((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);		sOpt = gf_cfg_get_key(gpac->m_user.config, "Rendering", "AntiAlias");	while (m_Antialias.GetCount()) m_Antialias.DeleteString(0);	m_Antialias.AddString(_T("None"));	m_Antialias.AddString(_T("Text only"));	m_Antialias.AddString(_T("Complete"));	select = 2;	if (sOpt && !stricmp(sOpt, "Text")) select = 1;	else if (sOpt && !stricmp(sOpt, "None")) select = 0;	m_Antialias.SetCurSel(select);	return TRUE;  }void COptRender::SaveOptions(){	COsmo4 *gpac = GetApp();	gf_cfg_set_key(gpac->m_user.config, "Render2D", "DirectRender", m_DirectRender.GetCheck() ? "yes" : "no");	gf_cfg_set_key(gpac->m_user.config, "Render2D", "ScalableZoom", m_Scalable.GetCheck() ? "yes" : "no");	gf_cfg_set_key(gpac->m_user.config, "Rendering", "FastRender", m_FastRender.GetCheck() ? "yes" : "no");	gf_cfg_set_key(gpac->m_user.config, "Rendering", "ForceSceneSize", m_ForceSize.GetCheck() ? "yes" : "no");	s32 sel = m_BIFSRate.GetCurSel();	gf_cfg_set_key(gpac->m_user.config, "Rendering", "FrameRate", BIFSRates[sel]);	sel = m_Antialias.GetCurSel();	gf_cfg_set_key(gpac->m_user.config, "Rendering", "AntiAlias", (sel==0) ? "None" : ( (sel==1) ? "Text" : "All"));}COptRender3D::COptRender3D(CWnd* pParent /*=NULL*/)	: CDialog(COptRender3D::IDD, pParent){	//{{AFX_DATA_INIT(COptRender)	//}}AFX_DATA_INIT}void COptRender3D::DoDataExchange(CDataExchange* pDX){	CDialog::DoDataExchange(pDX);	//{{AFX_DATA_MAP(COptRender)	DDX_Control(pDX, IDC_WIRE_MODE, m_WireMode);	DDX_Control(pDX, IDC_DRAW_NORMALS, m_DrawNormals);	DDX_Control(pDX, IDC_USE_3D_REN, m_Use3DRender);	DDX_Control(pDX, IDC_NO_BACKCULL, m_NoBackFace);	DDX_Control(pDX, IDC_EMULATE_POW2, m_EmulatePOW2);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(COptRender3D, CDialog)	//{{AFX_MSG_MAP(COptRender3D)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()BOOL COptRender3D::OnInitDialog() {	CDialog::OnInitDialog();		COsmo4 *gpac = GetApp();	const char *sOpt;	sOpt = gf_cfg_get_key(gpac->m_user.config, "Rendering", "RendererName");	m_Use3DRender.SetCheck( (sOpt && strstr(sOpt, "3D")) ? 1 : 0);	sOpt = gf_cfg_get_key(gpac->m_user.config, "Render3D", "BackFaceCulling");	m_NoBackFace.SetCheck( (sOpt && !stricmp(sOpt, "Off")) ? 1 : 0);	sOpt = gf_cfg_get_key(gpac->m_user.config, "Render3D", "EmulatePOW2");	m_EmulatePOW2.SetCheck( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);

⌨️ 快捷键说明

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