Пример #1
0
Bool player(char *fn)
{
	Bool ret = GF_FALSE;
	GF_Err e;
	GF_User user;
	GF_Terminal *term = NULL;
	GF_Config *cfg_file;
	memset(&user, 0, sizeof(user));
	cfg_file = gf_cfg_init(NULL, NULL);
	user.modules = gf_modules_new(NULL, cfg_file);
	e = manually_register_opengl_shared_module(user.modules);
	if (e != GF_OK) goto exit;
	set_cfg_option(cfg_file, "Video:DriverName=" OPENGL_SHARED_MODULE_NAME_STR);
	user.config = cfg_file;
	user.opaque = &user;
	user.EventProc = event_proc;
	term = gf_term_new(&user);
	if (!term) goto exit;

	gf_term_connect(term, fn);
	while (!connected) gf_sleep(1);
	while ( connected) {
		gf_term_process_step(term);
		check_keyboard(term);
	}
	ret = GF_TRUE;

exit:
	gf_term_disconnect(term);
	gf_term_del(term);
	gf_modules_del(user.modules);
	gf_cfg_del(cfg_file);

	return ret;
}
Пример #2
0
TInt COsmo4AppView::OnTick()
{
#ifndef GPAC_GUI_ONLY
	if (m_term) gf_term_process_step(m_term);

	/*check RTI display*/
	if (show_rti && gf_sys_get_rti(500, &m_rti, 0)) DisplayRTI();
#endif
	/*never stop...*/
	return 1;
}
Пример #3
0
//-----------------------------------------------------
void CNativeWrapper::step(void * env, void * bitmap) {
	m_window = env;
	m_session = bitmap;
	//debug_log("Step ...");
	if (!m_term) {
		debug_log("step(): No m_term found.");
		return;
	} else if (!m_term->compositor)
		debug_log("step(): No compositor found.");
	else if (!m_term->compositor->video_out)
		debug_log("step(): No video_out found");
	else if (!m_term->compositor->video_out->Setup)
		debug_log("step(): No video_out->Setup found");
	else {
		m_term->compositor->frame_draw_type = GF_SC_DRAW_FRAME;
		gf_term_process_step(m_term);
	}
}
Пример #4
0
BOOL CALLBACK MainWndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg) {
	case WM_CREATE:
	{
#ifdef _WIN32_WCE
		SHMENUBARINFO mbi;
		memset(&mbi, 0, sizeof(SHMENUBARINFO));
		mbi.cbSize = sizeof(SHMENUBARINFO);
		mbi.hwndParent = hwnd;
		mbi.hInstRes = g_hinst;
		mbi.nBmpId = 0;
		mbi.cBmpImages = 0;

		mbi.nToolBarId = IDM_MAIN_MENU;
		SHCreateMenuBar(&mbi);
		g_hwnd_menu = mbi.hwndMB;
#else
		g_hwnd_menu = NULL;
#endif

		g_hwnd_status = CreateWindow(TEXT("STATIC"), TEXT("Status"), WS_CHILD|WS_VISIBLE|SS_LEFT, 0, 0, disp_w, caption_h, hwnd, NULL, g_hinst, NULL);

		do_layout(1);
	}
		break;

	case WM_COMMAND:
		if (HandleCommand(hwnd, wParam, lParam))
			return DefWindowProc(hwnd, msg, wParam, lParam);
		break;
	case WM_TIMER:
		if (wParam==STATE_TIMER_ID) update_state_info();
#ifdef TERM_NOT_THREADED
		else gf_term_process_step(term);
#endif
		break;
	case WM_HOTKEY:
		break;
	case WM_KEYDOWN:
		if (playlist_navigation_on && !navigation_on) {
			if (wParam==VK_LEFT) { switch_playlist(1); break; }
			else if (wParam==VK_RIGHT) { switch_playlist(0); break; }
		}
		/*fall through*/
	case WM_SYSKEYDOWN:
	case WM_SYSKEYUP:
	case WM_KEYUP:
	case WM_CHAR:
	case WM_MOUSEMOVE:
	case WM_LBUTTONDOWN:
	case WM_LBUTTONDBLCLK:
	case WM_LBUTTONUP:
		::SendMessage(g_hwnd_disp, msg, wParam, lParam);
		return 0;
    case WM_INITMENUPOPUP:
        OnMenuPopup(hwnd, wParam);
        break;
	case WM_CLOSE:
		DestroyWindow(hwnd);
		break;
    case WM_SETFOCUS:
		gf_freeze_display(0);
		break;
    case WM_KILLFOCUS:
        if ((HWND) wParam==g_hwnd) {
			gf_freeze_display(1);
		}
		break;
    case WM_ACTIVATE:
        if (WA_INACTIVE != LOWORD(wParam)) {
			if ((HWND) lParam == g_hwnd) {
				gf_freeze_display(0);
				SetFocus(hwnd);
			}
		} else {
			if ((HWND) lParam == g_hwnd_disp) {
				gf_freeze_display(1);
			}
		}
        break;
	case WM_LOADTERM:
		if (!LoadTerminal()) {
			MessageBox(hwnd, _T("Cannot load GPAC"), _T("Error"), MB_OK);
			PostQuitMessage(0);
		}
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, msg, wParam, lParam);
	}

	return 0;
}