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

📄 wxgpaccontrol.cpp

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	s_rec->Add(bs, 0, wxALL|wxEXPAND, 2);	m_overwrite = new wxCheckBox(this, -1, wxT("Overwrite existing files"));	s_rec->Add(m_overwrite);	bs = new wxBoxSizer(wxHORIZONTAL);	m_usename = new wxCheckBox(this, ID_USE_FILENAME, wxT("Use filename"));	m_recfile = new wxTextCtrl(this, 0, wxT(""));	bs->Add(m_usename, wxALIGN_CENTER | wxADJUST_MINSIZE);	bs->Add(m_recfile, wxALIGN_CENTER | wxADJUST_MINSIZE);	s_rec->Add(bs, 0, wxALL|wxEXPAND, 2);	s_main->Add(s_rec, 0, wxEXPAND, 0);	/*load options*/	GF_Config *cfg = m_pApp->m_user.config;	/*general*/	sOpt = gf_cfg_get_key(cfg, "General", "Loop");	m_loop->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "General", "LookForSubtitles");	m_lookforsubs->SetValue((sOpt && !stricmp(sOpt, "no")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "General", "ConsoleOff");	m_noconsole->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "General", "ViewXMT");	m_viewxmt->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	/*systems config*/	sOpt = gf_cfg_get_key(cfg, "Systems", "Language3CC");	if (!sOpt) sOpt = "eng";	u32 select = 0;	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]) {			m_lang->Append(wxString(GF_ISO639_Lang[i], wxConvUTF8) );			if (sOpt && !stricmp(sOpt, GF_ISO639_Lang[i+1])) select = m_lang->GetCount() - 1;		}		i+=3;	}	m_lang->SetSelection(select);	sOpt = gf_cfg_get_key(cfg, "Systems", "ThreadingPolicy");	select = 0;	m_thread->Append(wxT("Single Thread"));	m_thread->Append(wxT("Mutli Thread"));	if (sOpt && !stricmp(sOpt, "Multi")) select = 1;	m_thread->Append(wxT("Free"));	if (sOpt && !stricmp(sOpt, "Free")) select = 2;	m_thread->SetSelection(select);	sOpt = gf_cfg_get_key(cfg, "Systems", "ForceSingleClock");	m_singletime->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Systems", "AlwaysDrawBIFS");	m_bifsalwaysdrawn->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	/*audio dec enum*/	sOpt = gf_cfg_get_key(cfg, "Systems", "DefAudioDec");	u32 count = gf_modules_get_count(m_pApp->m_user.modules);	GF_BaseDecoder *ifc_d;	select = 0;	s32 to_sel = 0;	for (i=0; i<count; i++) {		ifc_d = (GF_BaseDecoder *) gf_modules_load_interface(m_pApp->m_user.modules, i, GF_MEDIA_DECODER_INTERFACE);		if (!ifc_d) continue;		if (ifc_d->CanHandleStream(ifc_d, GF_STREAM_AUDIO, 0, NULL, 0, 0)) {			if (sOpt && !stricmp(ifc_d->module_name, sOpt)) select = to_sel;			m_decaudio->Append(wxString(ifc_d->module_name, wxConvUTF8) );			to_sel++;		}		gf_modules_close_interface((GF_BaseInterface *) ifc_d);	}	m_decaudio->SetSelection(select);	/*video dec enum*/	sOpt = gf_cfg_get_key(cfg, "Systems", "DefVideoDec");	select = to_sel = 0;	for (i=0; i<count; i++) {		ifc_d = (GF_BaseDecoder *) gf_modules_load_interface(m_pApp->m_user.modules, i, GF_MEDIA_DECODER_INTERFACE);		if (!ifc_d) continue;		if (ifc_d->CanHandleStream(ifc_d, GF_STREAM_VISUAL, 0, NULL, 0, 0)) {			if (sOpt && !stricmp(ifc_d->module_name, sOpt)) select = to_sel;			m_decvideo->Append(wxString(ifc_d->module_name, wxConvUTF8) );			to_sel++;		}		gf_modules_close_interface((GF_BaseInterface *) ifc_d);	}	m_decvideo->SetSelection(select);	/*rendering*/	sOpt = gf_cfg_get_key(cfg, "Rendering", "RendererName");	m_bWas3D = (sOpt && strstr(sOpt, "3D")) ? 1 : 0;	m_use3D->SetValue(m_bWas3D ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Rendering", "ForceSceneSize");	m_force_size->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Rendering", "FrameRate");	if (!sOpt) sOpt = "30.0";	select = 0;	for (i = 0; i<NUM_RATES; i++) {		m_fps->Append(wxString(BIFSRates[i], wxConvUTF8) );		if (sOpt && !stricmp(sOpt, BIFSRates[i]) ) select = i;	}	m_fps->SetSelection(select);		sOpt = gf_cfg_get_key(cfg, "Rendering", "FastRender");	m_fast->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Rendering", "AntiAlias");	m_aa->Append(wxT("None"));	m_aa->Append(wxT("Text only"));	m_aa->Append(wxT("Complete"));	select = 2;	if (sOpt && !stricmp(sOpt, "Text")) select = 1;	else if (sOpt && !stricmp(sOpt, "None")) select = 0;	m_aa->SetSelection(select);	sOpt = gf_cfg_get_key(cfg, "Rendering", "BoundingVolume");	m_draw_bounds->Append(wxT("None"));	m_draw_bounds->Append(wxT("Box/Rect"));	m_draw_bounds->Append(wxT("AABB Tree"));	select = 0;	if (sOpt && !stricmp(sOpt, "Box")) select = 1;	else if (sOpt && !stricmp(sOpt, "AABB")) select = 2;	m_draw_bounds->SetSelection(select);	/*render2d*/	sOpt = gf_cfg_get_key(cfg, "Render2D", "DirectRender");	m_direct->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Render2D", "ScalableZoom");	m_scalable->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Render2D", "DisableYUV");	m_noyuv->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	SetYUVLabel();	/*graphics driver enum*/	sOpt = gf_cfg_get_key(cfg, "Rendering", "Raster2D");	GF_BaseInterface *ifce;	select = to_sel = 0;	for (i=0; i<count; i++) {		ifce = gf_modules_load_interface(m_pApp->m_user.modules, i, GF_RASTER_2D_INTERFACE);		if (!ifce) continue;		if (sOpt && !stricmp(((GF_BaseInterface *)ifce)->module_name, sOpt)) select = to_sel;		m_graph->Append(wxString(((GF_BaseInterface *)ifce)->module_name, wxConvUTF8) );		gf_modules_close_interface(ifce);		to_sel++;	}	m_graph->SetSelection(select);	/*render3d*/	sOpt = gf_cfg_get_key(cfg, "Render3D", "RasterOutlines");	m_raster_outlines->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Render3D", "EmulatePOW2");	m_emulpow2->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Render3D", "PolygonAA");	m_polyaa->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Render3D", "BackFaceCulling");	m_nobackcull->SetValue((sOpt && !stricmp(sOpt, "Off")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Render3D", "Wireframe");	sOpt = gf_cfg_get_key(cfg, "Render3D", "BitmapCopyPixels");	m_copypixels->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Render3D", "DisableRectExt");	m_norectext->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	m_wire->Append(wxT("No Wireframe"));	m_wire->Append(wxT("Wireframe Only"));	m_wire->Append(wxT("Solid and Wireframe"));	sOpt = gf_cfg_get_key(cfg, "Render3D", "Wireframe");	if (sOpt && !stricmp(sOpt, "WireOnly")) m_wire->SetSelection(1);	else if (sOpt && !stricmp(sOpt, "WireOnSolid")) m_wire->SetSelection(2);	else m_wire->SetSelection(0);	m_normals->Append(wxT("Never"));	m_normals->Append(wxT("Per Face"));	m_normals->Append(wxT("Per Vertex"));	sOpt = gf_cfg_get_key(cfg, "Render3D", "DrawNormals");	if (sOpt && !stricmp(sOpt, "PerFace")) m_normals->SetSelection(1);	else if (sOpt && !stricmp(sOpt, "PerVertex")) m_normals->SetSelection(2);	else m_normals->SetSelection(0);	/*video*/	sOpt = gf_cfg_get_key(cfg, "Video", "SwitchResolution");	m_switchres->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Video", "UseHardwareMemory");	m_usehwmem->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Video", "DriverName");	select = to_sel = 0;	for (i=0; i<count; i++) {		ifce = gf_modules_load_interface(m_pApp->m_user.modules, i, GF_VIDEO_OUTPUT_INTERFACE);		if (!ifce) continue;		if (sOpt && !stricmp(((GF_BaseInterface *)ifce)->module_name, sOpt)) select = to_sel;		m_video->Append(wxString(((GF_BaseInterface *)ifce)->module_name, wxConvUTF8) );		gf_modules_close_interface(ifce);		to_sel++;	}	m_video->SetSelection(select);	/*audio*/	sOpt = gf_cfg_get_key(cfg, "Audio", "ForceConfig");	m_forcecfg->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Audio", "NumBuffers");	m_nbbuf->SetValue( sOpt ? wxString(sOpt, wxConvUTF8) : wxT("2"));	sOpt = gf_cfg_get_key(cfg, "Audio", "TotalDuration");	m_buflen->SetValue( sOpt ? wxString(sOpt, wxConvUTF8) : wxT("120"));	wxCommandEvent event;	ForceAudio(event);	sOpt = gf_cfg_get_key(cfg, "Audio", "NoResync");	m_noresync->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Audio", "DisableMultiChannel");	m_nomulitch->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	/*driver enum*/	sOpt = gf_cfg_get_key(cfg, "Audio", "DriverName");	select = to_sel = 0;	for (i=0; i<count; i++) {		ifce = gf_modules_load_interface(m_pApp->m_user.modules, i, GF_AUDIO_OUTPUT_INTERFACE);		if (!ifce) continue;		if (sOpt && !stricmp(((GF_BaseInterface *)ifce)->module_name, sOpt)) select = to_sel;		m_audio->Append(wxString(((GF_BaseInterface *)ifce)->module_name, wxConvUTF8) );		gf_modules_close_interface(ifce);		to_sel++;	}	m_audio->SetSelection(select);#ifdef WIN32	sOpt = gf_cfg_get_key(cfg, "Audio", "DisableNotification");	m_notifs->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	wxCommandEvent audevt;	OnSetAudioDriver(audevt);#endif	/*font*/	sOpt = gf_cfg_get_key(cfg, "FontEngine", "DriverName");	to_sel = select = 0;	for (i=0; i<count; i++) {		ifce = gf_modules_load_interface(m_pApp->m_user.modules, i, GF_FONT_RASTER_INTERFACE);		if (!ifce) continue;		if (sOpt && !stricmp(((GF_BaseInterface *)ifce)->module_name, sOpt)) select = to_sel;		m_font->Append(wxString(((GF_BaseInterface *)ifce)->module_name, wxConvUTF8) );		gf_modules_close_interface(ifce);		to_sel++;	}	m_font->SetSelection(select);	sOpt = gf_cfg_get_key(cfg, "FontEngine", "FontDirectory");	if (sOpt) m_fontdir->SetLabel(wxString(sOpt, wxConvUTF8) );	sOpt = gf_cfg_get_key(cfg, "FontEngine", "TextureTextMode");	m_texturemode->Append(wxT("Never"));	m_texturemode->Append(wxT("3D Only"));	m_texturemode->Append(wxT("Always"));	if (sOpt && !stricmp(sOpt, "Always")) m_texturemode->SetSelection(2);	else if (sOpt && !stricmp(sOpt, "3D")) m_texturemode->SetSelection(1);	else m_texturemode->SetSelection(0);	/*downloader*/	sOpt = gf_cfg_get_key(cfg, "General", "CacheDirectory");	if (sOpt) m_cachedir->SetLabel(wxString(sOpt, wxConvUTF8) );	sOpt = gf_cfg_get_key(cfg, "Downloader", "CleanCache");	m_cleancache->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "Downloader", "RestartFiles");	m_restartcache->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "SAXLoader", "Progressive");	m_progressive->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	sOpt = gf_cfg_get_key(cfg, "SAXLoader", "MaxDuration");	m_sax_duration->SetValue(sOpt ? wxString(sOpt, wxConvUTF8) : wxT("30"));	if (! m_progressive->GetValue()) m_sax_duration->Enable(0);	sOpt = gf_cfg_get_key(cfg, "HTTPProxy", "Enabled");	m_use_proxy->SetValue( (sOpt && !stricmp(sOpt, "yes")) ? 1 : 0);	char szProxy[GF_MAX_PATH];	strcpy(szProxy, "");	sOpt = gf_cfg_get_key(cfg, "HTTPProxy", "Name");	if (sOpt) {		strcat(szProxy, sOpt);		sOpt = gf_cfg_get_key(cfg, "HTTPProxy", "Port");		if (sOpt) {			strcat(szProxy, ":");			strcat(szProxy, sOpt);		}	} else {		m_use_proxy->SetValue(0);	}	m_proxy_name->SetValue( wxString((char *)szProxy, wxConvUTF8) );	if (! m_use_proxy->GetValue()) m_proxy_name->Enable(0);	/*streaming*/		m_port->Append(wxT("554 (RTSP standard)"));	m_port->Append(wxT("7070 (RTSP ext)"));	m_port->Append(wxT("80 (RTSP / HTTP tunnel)"));	m_port->Append(wxT("8080 (RTSP / HTTP tunnel)"));	sOpt = gf_cfg_get_key(cfg, "Streaming", "DefaultPort");	u32 port = 554;	Bool force_rtsp = 0;	if (sOpt) port = atoi(sOpt);	switch (port) {	case 8080:		m_port->SetSelection(3);		force_rtsp = 1;		break;	case 80:		m_port->SetSelection(2);		force_rtsp = 1;		break;	case 7070:		m_port->SetSelection(1);		break;	default:		m_port->SetSelection(0);		break;	}	Bool use_rtsp = 0;	sOpt = gf_cfg_get_key(cfg, "Streaming", "RTPoverRTSP");	if (sOpt && !stricmp(sOpt, "yes")) use_rtsp = 1;	if (force_rtsp) {		m_rtsp->SetValue(1);		m_rtsp->Enable(0);		m_reorder->SetValue(0);		m_reorder->Enable(0);	} else {		m_rtsp->SetValue(use_rtsp ? 1 : 0);		m_rtsp->Enable(1);		m_reorder->Enable(1);		sOpt = gf_cfg_get_key(cfg, "Streaming", "ReorderSize");		m_reorder->SetValue( (sOpt && !stricmp(sOpt, "0")) ? 1 : 0);	}	sOpt = gf_cfg_get_key(cfg, "Streaming", "RTSPTimeout");	m_timeout->SetValue(sOpt ? wxString(sOpt, wxConvUTF8) : wxT("30000"));	sOpt = gf_cfg_get_key(cfg, "Network", "BufferLength");	m_buffer->SetValue(sOpt ? wxString(sOpt, wxConvUTF8) : wxT("3000"));	sOpt = gf_cfg_get_key(cfg, "Network", "RebufferLength");	u32 buf_len = 0;	if (sOpt) buf_len = atoi(sOpt);	if (buf_len) {		m_dorebuffer->SetValue(1);		m_rebuffer->SetValue(wxString(sOpt, wxConvUTF8));		m_rebuffer->Enable(1);	} else {		m_dorebuffer->SetValue(0);		m_rebuffer->SetValue(wxT("0"));		m_rebuffer->Enable(0);	}	RTPoverRTSP(event);	sOpt = gf_cfg_get_key(cfg, "StreamingCache", "RecordDirectory");	if (!sOpt) sOpt = gf_cfg_get_key(cfg, "General", "CacheDirectory");	if (sOpt) m_recdir->SetLabel(wxString(sOpt, wxConvUTF8));	sOpt = gf_cfg_get_key(cfg, "StreamingCache", "KeepExistingFiles");	m_overwrite->SetValue((sOpt && !stricmp(sOpt, "yes")) ? 0 : 1);	sOpt = gf_cfg_get_key(cfg, "StreamingCache", "BaseFileName");	if (sOpt) {		m_usename->SetValue(1);

⌨️ 快捷键说明

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