示例#1
0
文件: app.c 项目: rvba/minuit
void app_init(t_app *app, const char *name)
{
	// Store Localy
	APP = app;

	// ARGS
	app_args_scan(app);

	// Set Version
	set_name(app->version, APP_VERSION);

	// Home
	app_init_home( app);
	app_init_current( app);

	// GL
	if(app->off_screen)
	{
		//printf("(OFF)\n");
	}
	else
	{

		#ifdef HAVE_SDL

		sdl_init(app->argc, app->argv);
		app->with_glut = 0;

		#else 

		#ifdef HAVE_GLUT

		if(app->with_glut)
		{

			glutInit(&app->argc, app->argv);

			glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL | GLUT_ALPHA);
			glutInitWindowPosition(WIN_X,WIN_Y);
			glutInitWindowSize(app->window->width,app->window->height);
			glutCreateWindow(app->name);
			glutDisplayFunc(app_gl_display);
			glutMouseFunc(app_gl_mouse);
			glutKeyboardFunc(app_gl_keyboard);
			glutSpecialFunc(app_gl_special);
			glutReshapeFunc(app_gl_reshape);
			glutMotionFunc(app_gl_motion);
			glutPassiveMotionFunc(app_gl_passive_motion);
			glutIdleFunc(app_gl_idle);
		}
		#else
		app->with_glut = 0;
		if( app->x_init) app->x_init( app->argc, app->argv, app->name);
		#endif


		// GLEW
		#ifdef HAVE_GLEW
		app_glew_init( 0);
		#endif

		// Set Fullscreen
		if(SET_FULLSCREEN && !app->off_screen) app_screen_set_fullscreen(app,1);

		#endif
	}

	// Info
	//app_gl_info();
	//app_ext_info();

	// App Name
	set_name(app->app_name,name);
}
示例#2
0
void app_screen_switch_fullscreen(t_app *app)
{
	if(app->window->fullscreen) app_screen_set_fullscreen(app,0);
	else app_screen_set_fullscreen(app,1);
}