/* -T switches */ boolean gvjobs_output_langname(GVC_t * gvc, const char *name) { if (!gvc->jobs) { output_langname_job = gvc->job = gvc->jobs = zmalloc(sizeof(GVJ_t)); } else { if (!output_langname_job) { output_langname_job = gvc->jobs; } else { if (!output_langname_job->next) { output_langname_job->next = zmalloc(sizeof(GVJ_t)); } output_langname_job = output_langname_job->next; } } output_langname_job->output_langname = name; output_langname_job->gvc = gvc; /* load it now to check that it exists */ #ifndef WITH_CGRAPH if (gvplugin_load(gvc, API_device, name)) #else /* WITH_CGRAPH */ // if (gvplugin_load(gvc, API_device, name)) #endif /* WITH_CGRAPH */ return TRUE; return FALSE; }
int gvtextlayout_select(GVC_t * gvc) { gvplugin_available_t *plugin; gvplugin_installed_t *typeptr; plugin = gvplugin_load(gvc, API_textlayout, "textlayout"); if (plugin) { typeptr = plugin->typeptr; gvc->textlayout.engine = (gvtextlayout_engine_t *) (typeptr->engine); return GVRENDER_PLUGIN; /* FIXME - need more suitable success code */ } return NO_SUPPORT; }
static int gvloadimage_select(GVJ_t * job, char *str) { gvplugin_available_t *plugin; gvplugin_installed_t *typeptr; plugin = gvplugin_load(job->gvc, API_loadimage, str); if (plugin) { typeptr = plugin->typeptr; job->loadimage.engine = (gvloadimage_engine_t *) (typeptr->engine); job->loadimage.id = typeptr->id; return GVRENDER_PLUGIN; } return NO_SUPPORT; }
static void gvconfig_write_library_config(GVC_t *gvc, char *path, gvplugin_library_t *library, FILE *f) { gvplugin_api_t *apis; gvplugin_installed_t *types; int i; fprintf(f, "%s %s {\n", path, library->packagename); for (apis = library->apis; (types = apis->types); apis++) { fprintf(f, "\t%s {\n", gvplugin_api_name(apis->api)); for (i = 0; types[i].type; i++) { /* verify that dependencies are available */ if (! (gvplugin_load(gvc, apis->api, types[i].type))) fprintf(f, "#FAILS"); fprintf(f, "\t\t%s %d\n", types[i].type, types[i].quality); } fputs ("\t}\n", f); } fputs ("}\n", f); }