#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#ifdef INCLUDE_GIMP_PRINT_H
#include INCLUDE_GIMP_PRINT_H
#else
#include <gimp-print/gimp-print.h>
#endif
#include "../../lib/libprintut.h"
const char *params[] =
{
"PageSize",
"Resolution",
"InkType",
"MediaType",
"InputSlot"
};
int nparams = sizeof(params) / sizeof(const char *);
int
main(int argc, char **argv)
{
int i, j, k;
for (i = 0; i < stp_known_printers(); i++)
{
const stp_printer_t p = stp_get_printer_by_index(i);
const stp_vars_t pv = stp_printer_get_printvars(p);
stp_param_t *retval;
const char *retval1;
int count;
int tcount = 0;
printf("# Printer model %s, long name `%s'\n",
stp_printer_get_driver(p), stp_printer_get_long_name(p));
for (k = 0; k < nparams; k++)
{
retval1 = (*stp_printer_get_printfuncs(p)->default_parameters)
(p, NULL, params[k]);
if (retval1)
printf("$defaults{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), params[k], retval1);
retval = (*stp_printer_get_printfuncs(p)->parameters)(p, NULL, params[k], &count);
if (count > 0)
{
for (j = 0; j < count; j++)
{
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), params[k], retval[j].name,
retval[j].text);
free((void *)retval[j].name);
free((void *)retval[j].text);
}
free(retval);
}
tcount += count;
}
if (tcount > 0)
{
printf("$defaults{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Dither",
stp_dither_algorithm_name(0));
for (k = 0; k < stp_dither_algorithm_count(); k++)
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Dither",
stp_dither_algorithm_name(k),
stp_dither_algorithm_text(k));
if (stp_get_output_type(pv) == OUTPUT_COLOR)
{
printf("$defaults{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "Color");
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "Color",
"Color");
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "RawCMYK",
"Raw CMYK");
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "Grayscale",
"Gray Scale");
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "BlackAndWhite",
"Black and White");
}
else
{
printf("$defaults{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "Grayscale");
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "Grayscale",
"Grayscale");
printf("$stpdata{'%s'}{'%s'}{'%s'} = '%s';\n",
stp_printer_get_driver(p), "Color", "BlackAndWhite",
"Black and White");
}
}
}
return 0;
}