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

📄 v4studioframe.cpp

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 CPP
📖 第 1 页 / 共 3 页
字号:
  EVT_TOOL(TOOL_NEW_XLINEPROPS, V4StudioFrame::OnNewXLineProps)  EVT_TOOL(TOOL_NEW_RECT, V4StudioFrame::OnNewRect)  EVT_TOOL(TOOL_NEW_CIRCLE, V4StudioFrame::OnNewCircle)  EVT_TOOL(TOOL_NEW_TEXT, V4StudioFrame::OnNewText)  EVT_TOOL(TOOL_NEW_FONTSTYLE, V4StudioFrame::OnNewFontStyle)  EVT_TOOL(TOOL_NEW_SOUND, V4StudioFrame::OnNewSound)  EVT_TOOL(TOOL_NEW_BACKGROUND2D, V4StudioFrame::OnNewBackground2D)  EVT_TOOL(TOOL_NEW_IMAGE, V4StudioFrame::OnNewImageTexture)  EVT_TOOL(TOOL_NEW_MOVIE, V4StudioFrame::OnNewMovieTexture)END_EVENT_TABLE()// creates new scenevoid V4StudioFrame::OnNew(wxCommandEvent &event){	//::wxLogMessage("Not yet implemented properly, load a BT file instead to start!");	//return;	m_pV4sm = new V4SceneManager(this);	m_pV4sm->LoadNew();	m_pMainToolbar->EnableTool(TOOL_ADD_TO_TL, true);	m_pMainToolbar->EnableTool(TOOL_VIEW_DICT, true);	m_pMainToolbar->EnableTool(TOOL_FILE_SAVE, true);	m_pFileMenu->Enable(MENU_FILE_SAVE, true);	m_pMainToolbar->EnableTool(TOOL_FILE_CLOSE, true);	m_pFileMenu->Enable(MENU_FILE_CLOSE, true);	m_pMainToolbar->EnableTool(TOOL_FILE_OPEN, false);	m_pFileMenu->Enable(MENU_FILE_OPEN, false);	m_pMainToolbar->EnableTool(TOOL_FILE_NEW, false);	m_pFileMenu->Enable(MENU_FILE_NEW, false);	m_pFileMenu->Enable(CHANGE_SIZE_DIALOG, true);  m_pFileMenu->Enable(CHANGE_LENGTH, true);  m_pFileMenu->Enable(CHANGE_FRAMERATE, true);	Layout();	SetStatusText("New scene", 0);	SceneGraphChanged();}// Opens an existing filevoid V4StudioFrame::OnFileOpen(wxCommandEvent &event){	wxFileDialog *dlg = new wxFileDialog(this, "Open a bt scene",									   "", "", "BT Files (*.bt)|*.bt|MP4 Files (*.mp4)|*.mp4|XMT Files (*.xmt)|*.xmt|SWF Files (*.swf)|*.swf|All files (*.*)|*.*",									   wxOPEN, wxDefaultPosition);	if ( dlg->ShowModal() == wxID_OK ) {		m_pV4sm = new V4SceneManager(this);		m_pV4sm->LoadFile(dlg->GetPath().c_str());				m_pMainToolbar->EnableTool(TOOL_ADD_TO_TL, true);		m_pMainToolbar->EnableTool(TOOL_VIEW_DICT, true);		m_pMainToolbar->EnableTool(TOOL_FILE_SAVE, true);		m_pFileMenu->Enable(MENU_FILE_SAVE, true);		m_pMainToolbar->EnableTool(TOOL_FILE_CLOSE, true);		m_pFileMenu->Enable(MENU_FILE_CLOSE, true);		m_pMainToolbar->EnableTool(TOOL_FILE_OPEN, false);		m_pFileMenu->Enable(MENU_FILE_OPEN, false);		m_pMainToolbar->EnableTool(TOOL_FILE_NEW, false);		m_pFileMenu->Enable(MENU_FILE_NEW, true);		m_pFileMenu->Enable(CHANGE_SIZE_DIALOG, true);    m_pFileMenu->Enable(CHANGE_LENGTH, true);    m_pFileMenu->Enable(CHANGE_FRAMERATE, true);		Layout();		SetStatusText(dlg->GetFilename(), 0);		SceneGraphChanged();	}	dlg->Destroy();}void V4StudioFrame::OnSave(wxCommandEvent &event){	wxFileDialog *dlg = new wxFileDialog(this, "Save the scene to an mp4 file",									   "", "", "MPEG-4 Files (*.mp4)|*.mp4|All files (*.*)|*.*",									   wxSAVE, wxDefaultPosition);	if ( dlg->ShowModal() == wxID_OK )	{	  m_pV4sm->SaveFile(dlg->GetPath().c_str());	  SetStatusText(dlg->GetFilename(), 0);	}	dlg->Destroy();}void V4StudioFrame::OnClose(wxCommandEvent &event){	if (m_pV4sm) delete m_pV4sm;	m_pV4sm = NULL;	m_pMainToolbar->EnableTool(TOOL_ADD_TO_TL, false);	m_pMainToolbar->EnableTool(TOOL_VIEW_DICT, false);	m_pMainToolbar->EnableTool(TOOL_FILE_SAVE, false);	m_pFileMenu->Enable(MENU_FILE_SAVE, false);	m_pMainToolbar->EnableTool(TOOL_FILE_CLOSE, false);	m_pFileMenu->Enable(MENU_FILE_CLOSE, false);	m_pMainToolbar->EnableTool(TOOL_FILE_OPEN, true);	m_pFileMenu->Enable(MENU_FILE_OPEN, true);	m_pMainToolbar->EnableTool(TOOL_FILE_NEW, true);	m_pFileMenu->Enable(MENU_FILE_NEW, true);	m_pFileMenu->Enable(CHANGE_SIZE_DIALOG, false);  m_pFileMenu->Enable(CHANGE_LENGTH, false);  m_pFileMenu->Enable(CHANGE_FRAMERATE, false);	m_clipboardNode = NULL;	m_clipboardParentNode = NULL;	m_pMainToolbar->EnableTool(TOOL_EDIT_CUT, false);	m_pMainToolbar->EnableTool(TOOL_EDIT_COPY, false);	m_pMainToolbar->EnableTool(TOOL_EDIT_PASTE, false);	m_pMainToolbar->EnableTool(TOOL_EDIT_PASTE_USE, false);	m_pMainToolbar->EnableTool(TOOL_EDIT_DELETE, false);	Layout();	SceneGraphChanged();}// Quits application// TODO : memory leaks !void V4StudioFrame::OnQuit(wxCommandEvent &event){	Close(FALSE);}/**********************************************//*  Functions to add components to the scene  *//**********************************************/void V4StudioFrame::OnNewOrderedGroup(wxCommandEvent &event) {	GF_Node *top = m_pV4sm->GetRootNode();	if (!top) {		top = m_pV4sm->SetTopNode(TAG_MPEG4_OrderedGroup);		m_selection = top;		m_parentSelection = NULL;	} else {		GF_Node *og = m_pV4sm->NewNode(TAG_MPEG4_OrderedGroup);		gf_node_insert_child(m_selection, og, -1);    gf_node_register(og, m_selection);		m_parentSelection = m_selection;		m_selection = og;	}	Update();}void V4StudioFrame::OnNewLayer2D(wxCommandEvent &event) {	GF_Node *top = m_pV4sm->GetRootNode();	if (!top) {		top = m_pV4sm->SetTopNode(TAG_MPEG4_Layer2D);		m_selection = top;		m_parentSelection = NULL;	} else {		GF_Node *l2d = m_pV4sm->NewNode(TAG_MPEG4_Layer2D);		gf_node_insert_child(m_selection, l2d, -1);    gf_node_register(l2d, m_selection);		m_parentSelection = m_selection;		m_selection = l2d;	}	Update();}void V4StudioFrame::OnNewText(wxCommandEvent &event) {	GF_Node *text = m_pV4sm->NewNode(TAG_MPEG4_Text);	M_Shape *shape = (M_Shape *)m_selection;	shape->geometry = text;	gf_node_register(text, m_selection);	m_parentSelection = m_selection;	m_selection = text;	Update();}void V4StudioFrame::OnNewFontStyle(wxCommandEvent &event) {	GF_Node *fs = m_pV4sm->NewNode(TAG_MPEG4_FontStyle);	M_Text *text = (M_Text *)m_selection;	text->fontStyle = fs;	gf_node_register(fs, m_selection);	m_selection = fs;	m_parentSelection = (GF_Node *)text;	Update();}void V4StudioFrame::OnNewRect(wxCommandEvent &event) {	GF_Node *rect = m_pV4sm->NewNode(TAG_MPEG4_Rectangle);	M_Shape *shape = (M_Shape *)m_selection;	shape->geometry = rect;	gf_node_register(rect, m_selection);	m_parentSelection = m_selection;	m_selection = rect;	Update();}void V4StudioFrame::OnNewCircle(wxCommandEvent &event) {	GF_Node *circle = m_pV4sm->NewNode(TAG_MPEG4_Circle);	M_Shape *shape = (M_Shape *)m_selection;	shape->geometry = circle;	gf_node_register(circle, m_selection);	((M_Circle *) circle)->radius = 75;	m_parentSelection = m_selection;	m_selection = circle;	Update();}void V4StudioFrame::OnNewTransform2D(wxCommandEvent &event){	GF_Node *t2d = m_pV4sm->NewNode(TAG_MPEG4_Transform2D);	if (!m_selection) m_selection = m_pV4sm->GetRootNode();	gf_node_insert_child(m_selection, t2d, -1);	gf_node_register(t2d, m_selection);	m_parentSelection = m_selection;	m_selection = t2d;	Update();}void V4StudioFrame::OnNewColorTransform(wxCommandEvent &event){	GF_Node *ct = m_pV4sm->NewNode(TAG_MPEG4_ColorTransform);	if (!m_selection) m_selection = m_pV4sm->GetRootNode();	gf_node_insert_child(m_selection, ct, -1);	gf_node_register(ct, m_selection);	m_parentSelection = m_selection;	m_selection = ct;	Update();}void V4StudioFrame::OnNewTransformMatrix2D(wxCommandEvent &event){	GF_Node *tm2d = m_pV4sm->NewNode(TAG_MPEG4_TransformMatrix2D);	if (!m_selection) m_selection = m_pV4sm->GetRootNode();	gf_node_insert_child(m_selection, tm2d, -1);	gf_node_register(tm2d, m_selection);	m_parentSelection = m_selection;	m_selection = (GF_Node *)tm2d;	Update();}void V4StudioFrame::OnNewShape(wxCommandEvent &event){	GF_Node *shape = m_pV4sm->NewNode(TAG_MPEG4_Shape);	gf_node_insert_child(m_selection, shape, -1);	gf_node_register( shape, m_selection);	m_parentSelection = m_selection;	m_selection = (GF_Node *)shape;	Update();}void V4StudioFrame::OnNewAppearance(wxCommandEvent &event) {	GF_Node *app = m_pV4sm->NewNode(TAG_MPEG4_Appearance);	M_Shape *shape = (M_Shape *)m_selection;	shape->appearance = app;	gf_node_register(app, m_selection);	m_parentSelection = m_selection;	m_selection = app;	Update();}void V4StudioFrame::OnNewLinearGradient(wxCommandEvent &event){	GF_Node *lg = m_pV4sm->NewNode(TAG_MPEG4_LinearGradient);	M_Appearance *app = (M_Appearance *)m_selection;	app->texture = lg;	gf_node_register(lg, m_selection);	m_parentSelection = m_selection;	m_selection = (GF_Node *)lg;	Update();}void V4StudioFrame::OnNewRadialGradient(wxCommandEvent &event){	GF_Node *rg = m_pV4sm->NewNode(TAG_MPEG4_RadialGradient);	M_Appearance *app = (M_Appearance *)m_selection;	app->texture = rg;	gf_node_register(rg, m_selection);	m_parentSelection = m_selection;	m_selection = rg;	Update();}void V4StudioFrame::OnNewMaterial2D(wxCommandEvent &event){	GF_Node *mat2d = m_pV4sm->NewNode(TAG_MPEG4_Material2D);	M_Appearance *app = (M_Appearance *)m_selection;	app->material = mat2d;	gf_node_register(mat2d, m_selection);	m_parentSelection = m_selection;	m_selection = mat2d;	Update();}void V4StudioFrame::OnNewLineProps(wxCommandEvent &event){

⌨️ 快捷键说明

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