diff options
author | Didier Raboud <odyx@debian.org> | 2012-10-25 21:07:57 +0200 |
---|---|---|
committer | Didier Raboud <odyx@debian.org> | 2012-10-25 21:07:57 +0200 |
commit | 81ab83f382660bc7980ae954725c4ebf28764b03 (patch) | |
tree | 523268f698a63a8fd44f3491d94d140266b2403b /driver/testdither.c | |
parent | a75966e33dbc3e3e096338fd332f515cb313b58a (diff) | |
download | cups-upstream/1.6.0.tar.gz |
Imported Upstream version 1.6.0upstream/1.6.0
Diffstat (limited to 'driver/testdither.c')
-rw-r--r-- | driver/testdither.c | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/driver/testdither.c b/driver/testdither.c deleted file mode 100644 index e9dc0470..00000000 --- a/driver/testdither.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - * "$Id: testdither.c 9042 2010-03-24 00:45:34Z mike $" - * - * Dither test program for CUPS. - * - * Try the following: - * - * testdither 0 255 > filename.ppm - * testdither 0 127 255 > filename.ppm - * testdither 0 85 170 255 > filename.ppm - * testdither 0 63 127 170 198 227 255 > filename.ppm - * testdither 0 210 383 > filename.ppm - * testdither 0 82 255 > filename.ppm - * - * Copyright 2007-2010 by Apple Inc. - * Copyright 1993-2005 by Easy Software Products. - * - * These coded instructions, statements, and computer programs are the - * property of Apple Inc. and are protected by Federal copyright - * law. Distribution and use rights are outlined in the file "LICENSE.txt" - * which should have been included with this file. If this file is - * file is missing or damaged, see the license at "http://www.cups.org/". - * - * Contents: - * - * main() - Test dithering and output a PPM file. - * usage() - Show program usage... - */ - -/* - * Include necessary headers. - */ - -#include "driver.h" -#include <cups/string-private.h> - - -/* - * Local functions... - */ - -void usage(void); - - -/* - * 'main()' - Test dithering and output a PPM file. - */ - -int /* O - Exit status */ -main(int argc, /* I - Number of command-line arguments */ - char *argv[]) /* I - Command-line arguments */ -{ - int x, y; /* Current coordinate in image */ - short line[512]; /* Line to dither */ - unsigned char pixels[512], /* Dither pixels */ - *pixptr; /* Pointer in line */ - int output; /* Output pixel */ - cups_lut_t *lut; /* Dither lookup table */ - cups_dither_t *dither; /* Dither state */ - int nlutvals; /* Number of lookup values */ - float lutvals[16]; /* Lookup values */ - int pixvals[16]; /* Pixel values */ - - - /* - * See if we have lookup table values on the command-line... - */ - - if (argc > 1) - { - /* - * Yes, collect them... - */ - - nlutvals = 0; - - for (x = 1; x < argc; x ++) - if (isdigit(argv[x][0]) && nlutvals < 16) - { - pixvals[nlutvals] = atoi(argv[x]); - lutvals[nlutvals] = atof(argv[x]) / 255.0; - nlutvals ++; - } - else - usage(); - - /* - * See if we have at least 2 values... - */ - - if (nlutvals < 2) - usage(); - } - else - { - /* - * Otherwise use the default 2-entry LUT with values of 0 and 255... - */ - - nlutvals = 2; - lutvals[0] = 0.0; - lutvals[1] = 1.0; - pixvals[0] = 0; - pixvals[1] = 255; - } - - /* - * Create the lookup table and dither state... - */ - - lut = cupsLutNew(nlutvals, lutvals); - dither = cupsDitherNew(512); - - /* - * Put out the PGM header for a raw 256x256x8-bit grayscale file... - */ - - puts("P5\n512\n512\n255"); - - /* - * Dither 512 lines, which are written out in 256 image lines... - */ - - for (y = 0; y < 512; y ++) - { - /* - * Create the grayscale data for the current line... - */ - - for (x = 0; x < 512; x ++) - line[x] = 4095 * ((y / 32) * 16 + x / 32) / 255; - - /* - * Dither the line... - */ - - cupsDitherLine(dither, lut, line, 1, pixels); - - if (y == 0) - { - fputs("DEBUG: pixels =", stderr); - for (x = 0; x < 512; x ++) - fprintf(stderr, " %d", pixels[x]); - fputs("\n", stderr); - } - - /* - * Add or set the output pixel values... - */ - - for (x = 0, pixptr = pixels; x < 512; x ++, pixptr ++) - { - output = 255 - pixvals[*pixptr]; - - if (output < 0) - putchar(0); - else - putchar(output); - } - } - - /* - * Free the dither state and lookup table... - */ - - cupsDitherDelete(dither); - cupsLutDelete(lut); - - /* - * Return with no errors... - */ - - return (0); -} - - -/* - * 'usage()' - Show program usage... - */ - -void -usage(void) -{ - puts("Usage: testdither [val1 val2 [... val16]] >filename.ppm"); - exit(1); -} - - -/* - * End of "$Id: testdither.c 9042 2010-03-24 00:45:34Z mike $". - */ |