示例#1
0
MultiTestApp *multitestapp_new(void) {
	MultiTestApp *app= MEM_mallocN(sizeof(*app), "multitestapp_new");
	GHOST_EventConsumerHandle consumer= GHOST_CreateEventConsumer(multitest_event_handler, app);
	
	app->sys= GHOST_CreateSystem();
	if (!app->sys)
		fatal("Unable to create ghost system");

	if (!GHOST_AddEventConsumer(app->sys, consumer))	
		fatal("Unable to add multitest event consumer ");
		
	app->main= mainwindow_new(app);
	if (!app->main) 
		fatal("Unable to create main window");
		
	app->logger= loggerwindow_new(app);
	if (!app->logger)
		fatal("Unable to create logger window");

	app->extra= NULL;		
	app->exit= 0;
	
	return app;
}
示例#2
0
文件: main.c 项目: acieroid/tetristar
int main(int argc, char *argv[])
{
  g_debug("Initializing lua");
  lua_state = luaL_newstate();
  luaL_openlibs(lua_state);

  g_debug("Initializing libtetris");
  tetris_init();
  tetris_plugin_init(lua_state);
  tetris_lua_functions_setup();

  g_debug("Initializing GLib and GTK");
  gdk_threads_init();
  gtk_init(&argc, &argv);

  g_debug("Creating main window");
  mainwindow = mainwindow_new();
  g_signal_connect(G_OBJECT(mainwindow->window), "delete-event",
                   G_CALLBACK(quit_everything), NULL);
  g_signal_connect(G_OBJECT(mainwindow->window), "destroy-event",
                   G_CALLBACK(quit_everything), NULL);

  g_debug("Initializing clients plugins");
  plugins_init(lua_state, mainwindow);

  g_debug("Loading config.lua");
  if (luaL_loadfile(lua_state, "config.lua") != 0 ||
      lua_pcall(lua_state, 0, 0, 0) != 0)
    g_warning("Unable to load or run config.lua: %s",
              lua_tostring(lua_state, -1));

  g_debug("Launching main loop");
  gtk_main();

  return 0;
}