Added checks for print spoolers to configure.in as suggested by Michael

Sweet. The print plug-in still needs some changes to Makefile.am to make
make use of this.

Updated print and sgi plug-ins to version on the registry.


--Sven
This commit is contained in:
Sven Neumann
1998-04-01 22:14:53 +00:00
parent dd49497a00
commit 97297cb810
10 changed files with 312 additions and 271 deletions

View File

@ -290,6 +290,35 @@ patterndata=`echo $patterndata`
dnl This is for generating PDB docuemntation. dnl This is for generating PDB docuemntation.
AC_PATH_PROG(EMACS, emacs, :) AC_PATH_PROG(EMACS, emacs, :)
dnl This is for the print plug-in
lp_path=""
AC_ARG_ENABLE(lp_path, [ --with-lp=DIR set lp command location],
if eval "test x$with_lp != x"; then
lp_path=$with_lp
fi)
AC_PATH_PROG(LP_COMMAND, "lp", $lp_path)
lpstat_path=""
AC_ARG_ENABLE(lpstat_path, [ --with-lpstat=DIR set lpstat command location],
if eval "test x$with_lpstat != x"; then
lpstat_path=$with_lpstat
fi)
AC_PATH_PROG(LPSTAT_COMMAND, "lpstat", $lpstat_path)
lpr_path=""
AC_ARG_ENABLE(lpr_path, [ --with-lpr=DIR set lpr command location],
if eval "test x$with_lpr != x"; then
lpr_path=$with_lpr
fi)
AC_PATH_PROG(LPR_COMMAND, "lpr", $lpr_path)
lpc_path=""
AC_ARG_ENABLE(lpc_path, [ --with-lpc=DIR set lpc command location],
if eval "test x$with_lpc != x"; then
lpc_path=$with_lpc
fi)
AC_PATH_PROG(LPC_COMMAND, "lpc", $lpc_path)
AC_SUBST(gimpdir) AC_SUBST(gimpdir)
AC_SUBST(gimpdatadir) AC_SUBST(gimpdatadir)
AC_SUBST(gimpplugindir) AC_SUBST(gimpplugindir)

View File

@ -27,31 +27,15 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.3 1998/03/19 02:11:40 adrian * Revision 1.4 1998/04/01 22:14:44 neo
* *AlienMap/AlienMap.c CEL/CEL.c CML_explorer/CML_explorer.c * Added checks for print spoolers to configure.in as suggested by Michael
* align_layers/align_layers.c animationplay/animationplay.c * Sweet. The print plug-in still needs some changes to Makefile.am to make
* bmp/bmpwrite.c dbbrowser/dbbrowser.c emboss/emboss.c * make use of this.
* exchange/exchange.c faxg3/faxg3.c faxg3/g3.c gbr/gbr.c
* gif/gif.c gqbist/gqbist.c hot/hot.c ifscompose/ifscompose.c
* iwarp/iwarp.c max_rgb/max_rgb.c maze/maze_face.c
* megawidget/megawidget.c mpeg/mpeg.c nlfilt/nlfilt.c pcx/pcx.c
* plasma/plasma.c pnm/pnm.c print/print-escp2.c
* print/print-pcl.c print/print.c scatter_hsv/scatter_hsv.c
* script-fu/script-fu-scripts.c script-fu/script-fu.c
* sinus/sinus.c tga/tga.c tileit/tileit.c
* vpropagate/vpropagate.c xpm/xpm.c: More picky picky ansi type
* stuff from gimp-hpux-980316.patch.
* *
* isnt big patches fun? * Updated print and sgi plug-ins to version on the registry.
* *
* -adrian
* *
* Revision 1.2 1998/01/25 09:29:25 yosh * --Sven
* Plugin updates
* Properly generated aa Makefile (still not built by default)
* Sven's no args script patch
*
* -Yosh
* *
* Revision 1.8 1998/01/21 21:33:47 mike * Revision 1.8 1998/01/21 21:33:47 mike
* Updated copyright. * Updated copyright.
@ -485,7 +469,7 @@ escp2_print(FILE *prn, /* I - Print file or command */
* 'escp2_write()' - Send ESC/P2 graphics using TIFF packbits compression. * 'escp2_write()' - Send ESC/P2 graphics using TIFF packbits compression.
*/ */
static void void
escp2_write(FILE *prn, /* I - Print file or command */ escp2_write(FILE *prn, /* I - Print file or command */
unsigned char *line, /* I - Output bitmap data */ unsigned char *line, /* I - Output bitmap data */
int length, /* I - Length of bitmap data */ int length, /* I - Length of bitmap data */

View File

@ -28,31 +28,15 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.3 1998/03/19 02:11:41 adrian * Revision 1.4 1998/04/01 22:14:45 neo
* *AlienMap/AlienMap.c CEL/CEL.c CML_explorer/CML_explorer.c * Added checks for print spoolers to configure.in as suggested by Michael
* align_layers/align_layers.c animationplay/animationplay.c * Sweet. The print plug-in still needs some changes to Makefile.am to make
* bmp/bmpwrite.c dbbrowser/dbbrowser.c emboss/emboss.c * make use of this.
* exchange/exchange.c faxg3/faxg3.c faxg3/g3.c gbr/gbr.c
* gif/gif.c gqbist/gqbist.c hot/hot.c ifscompose/ifscompose.c
* iwarp/iwarp.c max_rgb/max_rgb.c maze/maze_face.c
* megawidget/megawidget.c mpeg/mpeg.c nlfilt/nlfilt.c pcx/pcx.c
* plasma/plasma.c pnm/pnm.c print/print-escp2.c
* print/print-pcl.c print/print.c scatter_hsv/scatter_hsv.c
* script-fu/script-fu-scripts.c script-fu/script-fu.c
* sinus/sinus.c tga/tga.c tileit/tileit.c
* vpropagate/vpropagate.c xpm/xpm.c: More picky picky ansi type
* stuff from gimp-hpux-980316.patch.
* *
* isnt big patches fun? * Updated print and sgi plug-ins to version on the registry.
* *
* -adrian
* *
* Revision 1.2 1998/01/25 09:29:26 yosh * --Sven
* Plugin updates
* Properly generated aa Makefile (still not built by default)
* Sven's no args script patch
*
* -Yosh
* *
* Revision 1.8 1998/01/21 21:33:47 mike * Revision 1.8 1998/01/21 21:33:47 mike
* Updated copyright. * Updated copyright.
@ -527,7 +511,7 @@ pcl_print(FILE *prn, /* I - Print file or command */
* 'pcl_mode0()' - Send PCL graphics using mode 0 (no) compression. * 'pcl_mode0()' - Send PCL graphics using mode 0 (no) compression.
*/ */
static void void
pcl_mode0(FILE *prn, /* I - Print file or command */ pcl_mode0(FILE *prn, /* I - Print file or command */
unsigned char *line, /* I - Output bitmap data */ unsigned char *line, /* I - Output bitmap data */
int length, /* I - Length of bitmap data */ int length, /* I - Length of bitmap data */
@ -542,7 +526,7 @@ pcl_mode0(FILE *prn, /* I - Print file or command */
* 'pcl_mode2()' - Send PCL graphics using mode 2 (TIFF) compression. * 'pcl_mode2()' - Send PCL graphics using mode 2 (TIFF) compression.
*/ */
static void void
pcl_mode2(FILE *prn, /* I - Print file or command */ pcl_mode2(FILE *prn, /* I - Print file or command */
unsigned char *line, /* I - Output bitmap data */ unsigned char *line, /* I - Output bitmap data */
int length, /* I - Length of bitmap data */ int length, /* I - Length of bitmap data */

View File

@ -28,20 +28,15 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.3 1998/03/26 02:08:25 yosh * Revision 1.4 1998/04/01 22:14:46 neo
* * applied gimp-quinet-980122-0 and tweaked the tests a bit, this makes the * Added checks for print spoolers to configure.in as suggested by Michael
* optional library tests in configure. * Sweet. The print plug-in still needs some changes to Makefile.am to make
* make use of this.
* *
* * applied gimp-jbuhler-980321-0, fixes more warnings in plug-ins * Updated print and sgi plug-ins to version on the registry.
* *
* -Yosh
* *
* Revision 1.2 1998/01/25 09:29:27 yosh * --Sven
* Plugin updates
* Properly generated aa Makefile (still not built by default)
* Sven's no args script patch
*
* -Yosh
* *
* Revision 1.10 1998/01/22 15:38:46 mike * Revision 1.10 1998/01/22 15:38:46 mike
* Updated copyright notice. * Updated copyright notice.
@ -119,7 +114,8 @@ ps_print(FILE *prn, /* I - File to print to */
int x, y; /* Looping vars */ int x, y; /* Looping vars */
GPixelRgn rgn; /* Image region */ GPixelRgn rgn; /* Image region */
guchar *in, /* Input pixels from image */ guchar *in, /* Input pixels from image */
*out; /* Output pixels for printer */ *out, /* Output pixels for printer */
*outptr; /* Current output pixel */
int page_width, /* Width of page */ int page_width, /* Width of page */
page_height, /* Height of page */ page_height, /* Height of page */
out_width, /* Width of image on page */ out_width, /* Width of image on page */

View File

@ -23,32 +23,37 @@
* *
* dither_black() - Dither grayscale pixels to black. * dither_black() - Dither grayscale pixels to black.
* dither_cmyk() - Dither RGB pixels to cyan, magenta, yellow, and black. * dither_cmyk() - Dither RGB pixels to cyan, magenta, yellow, and black.
* gray_to_gray() - Convert grayscale image data to grayscale (brightness * gray_to_gray() - Convert grayscale image data to grayscale.
* adjusted).
* indexed_to_gray() - Convert indexed image data to grayscale. * indexed_to_gray() - Convert indexed image data to grayscale.
* indexed_to_rgb() - Convert indexed image data to RGB. * indexed_to_rgb() - Convert indexed image data to RGB.
* media_width() - Get the addressable width of the page. * media_width() - Get the addressable width of the page.
* media_height() - Get the addressable height of the page. * media_height() - Get the addressable height of the page.
* rgb_to_gray() - Convert RGB image data to grayscale. * rgb_to_gray() - Convert RGB image data to grayscale.
* rgb_to_rgb() - Convert RGB image data to RGB (brightness adjusted). * rgb_to_rgb() - Convert RGB image data to RGB.
* *
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.3 1998/03/26 02:08:26 yosh * Revision 1.4 1998/04/01 22:14:47 neo
* * applied gimp-quinet-980122-0 and tweaked the tests a bit, this makes the * Added checks for print spoolers to configure.in as suggested by Michael
* optional library tests in configure. * Sweet. The print plug-in still needs some changes to Makefile.am to make
* make use of this.
* *
* * applied gimp-jbuhler-980321-0, fixes more warnings in plug-ins * Updated print and sgi plug-ins to version on the registry.
* *
* -Yosh
* *
* Revision 1.2 1998/01/25 09:29:27 yosh * --Sven
* Plugin updates
* Properly generated aa Makefile (still not built by default)
* Sven's no args script patch
* *
* -Yosh * Revision 1.11 1998/03/01 18:03:27 mike
* Whoops - need to add 255 - alpha to the output values (transparent to white
* and not transparent to black...)
*
* Revision 1.10 1998/03/01 17:20:48 mike
* Updated alpha code to do alpha computation before gamma/brightness lut.
*
* Revision 1.9 1998/03/01 17:13:46 mike
* Updated CMY/CMYK conversion code for dynamic BG and hue adjustment.
* Added alpha channel support to color conversion functions.
* *
* Revision 1.8 1998/01/21 21:33:47 mike * Revision 1.8 1998/01/21 21:33:47 mike
* Replaced Burkes dither with stochastic (random) dither. * Replaced Burkes dither with stochastic (random) dither.
@ -107,7 +112,7 @@
* (currently 720) to avoid problems... * (currently 720) to avoid problems...
*/ */
int error[2][4][11*720+4] = { { { 0 } } }; int error[2][4][11*720+4] = { 0 };
/* /*
@ -208,7 +213,9 @@ dither_cmyk(guchar *rgb, /* I - RGB pixels */
xstep, /* X step */ xstep, /* X step */
xmod, /* X error modulus */ xmod, /* X error modulus */
length; /* Length of output bitmap in bytes */ length; /* Length of output bitmap in bytes */
int c, m, y, k, ik; /* CMYK values */ int c, m, y, k, /* CMYK values */
divk, /* Inverse of K */
diff; /* Average color difference */
unsigned char bit, /* Current bit */ unsigned char bit, /* Current bit */
*cptr, /* Current cyan pixel */ *cptr, /* Current cyan pixel */
*mptr, /* Current magenta pixel */ *mptr, /* Current magenta pixel */
@ -266,21 +273,38 @@ dither_cmyk(guchar *rgb, /* I - RGB pixels */
x ++, cerror0 ++, cerror1 ++, merror0 ++, merror1 ++, yerror0 ++, x ++, cerror0 ++, cerror1 ++, merror0 ++, merror1 ++, yerror0 ++,
yerror1 ++, kerror0 ++, kerror1 ++) yerror1 ++, kerror0 ++, kerror1 ++)
{ {
/*
* First compute the standard CMYK separation color values...
*/
c = 255 - rgb[0]; c = 255 - rgb[0];
m = 255 - rgb[1]; m = 255 - rgb[1];
y = 255 - rgb[2]; y = 255 - rgb[2];
k = MIN(c, MIN(m, y));
if (black != NULL) if (black != NULL)
{ {
k = MIN(c, MIN(m, y)); /*
if (k >= 255) * Since we're printing black, adjust the black level based upon
c = m = y = 0; * the amount of color in the pixel (colorful pixels get less black)...
else if (k > 0) */
diff = 255 - (abs(c - m) + abs(c - y) + abs(m - y)) / 3;
k = diff * k / 255;
divk = 255 - k;
if (divk == 0)
c = m = y = 0; /* Grayscale */
else
{ {
ik = 255 - k; /*
c = 255 * (c - k) / ik; * Full color; update the CMY values for the black value and reduce
m = 255 * (m - k) / ik; * CMY as necessary to give better blues, greens, and reds... :)
y = 255 * (y - k) / ik; */
c = (255 - (rgb[1] + rgb[2]) / 8) * (c - k) / divk;
m = (255 - (rgb[0] + rgb[2]) / 8) * (m - k) / divk;
y = (255 - (rgb[0] + rgb[1]) / 8) * (y - k) / divk;
}; };
k += ditherk / 4; k += ditherk / 4;
@ -303,6 +327,17 @@ dither_cmyk(guchar *rgb, /* I - RGB pixels */
if (bit == 1) if (bit == 1)
kptr ++; kptr ++;
}
else
{
/*
* We're not printing black, but let's adjust the CMY levels to produce
* better reds, greens, and blues...
*/
c = (255 - (rgb[1] + rgb[2]) / 8) * (c - k) / 255 + k;
m = (255 - (rgb[0] + rgb[2]) / 8) * (m - k) / 255 + k;
y = (255 - (rgb[0] + rgb[1]) / 8) * (y - k) / 255 + k;
}; };
c += ditherc / 4; c += ditherc / 4;
@ -394,13 +429,35 @@ gray_to_gray(guchar *grayin, /* I - RGB pixels */
guchar *lut, /* I - Brightness lookup table */ guchar *lut, /* I - Brightness lookup table */
guchar *cmap) /* I - Colormap (unused) */ guchar *cmap) /* I - Colormap (unused) */
{ {
while (width > 0) if (bpp == 1)
{ {
*grayout = lut[*grayin]; /*
* No alpha in image...
*/
grayout ++; while (width > 0)
grayin += bpp; {
width --; *grayout = lut[*grayin];
grayin ++;
grayout ++;
width --;
};
}
else
{
/*
* Handle alpha in image...
*/
while (width > 0)
{
*grayout = lut[grayin[0] * grayin[1] / 255] + 255 - grayin[1];
grayin += bpp;
grayout ++;
width --;
};
}; };
} }
@ -422,14 +479,35 @@ indexed_to_gray(guchar *indexed, /* I - Indexed pixels */
for (i = 0; i < 256; i ++, cmap += 3) for (i = 0; i < 256; i ++, cmap += 3)
gray_cmap[i] = lut[(cmap[0] * LUM_RED + cmap[1] * LUM_GREEN + cmap[2] * LUM_BLUE) / 100]; gray_cmap[i] = (cmap[0] * LUM_RED + cmap[1] * LUM_GREEN + cmap[2] * LUM_BLUE) / 100;
while (width > 0) if (bpp == 1)
{ {
*gray = gray_cmap[*indexed]; /*
gray ++; * No alpha in image...
indexed += bpp; */
width --;
while (width > 0)
{
*gray = lut[gray_cmap[*indexed]];
indexed ++;
gray ++;
width --;
};
}
else
{
/*
* Handle alpha in image...
*/
while (width > 0)
{
*gray = lut[gray_cmap[indexed[0] * indexed[1] / 255] + 255 - indexed[1]];
indexed += bpp;
gray ++;
width --;
};
}; };
} }
@ -446,14 +524,37 @@ indexed_to_rgb(guchar *indexed, /* I - Indexed pixels */
guchar *lut, /* I - Brightness lookup table */ guchar *lut, /* I - Brightness lookup table */
guchar *cmap) /* I - Colormap */ guchar *cmap) /* I - Colormap */
{ {
while (width > 0) if (bpp == 1)
{ {
rgb[0] = lut[cmap[*indexed * 3 + 0]]; /*
rgb[1] = lut[cmap[*indexed * 3 + 1]]; * No alpha in image...
rgb[2] = lut[cmap[*indexed * 3 + 2]]; */
rgb += 3;
indexed += bpp; while (width > 0)
width --; {
rgb[0] = lut[cmap[*indexed * 3 + 0]];
rgb[1] = lut[cmap[*indexed * 3 + 1]];
rgb[2] = lut[cmap[*indexed * 3 + 2]];
rgb += 3;
indexed ++;
width --;
};
}
else
{
/*
* RGBA image...
*/
while (width > 0)
{
rgb[0] = lut[cmap[indexed[0] * 3 + 0] * indexed[1] / 255 + 255 - indexed[1]];
rgb[1] = lut[cmap[indexed[0] * 3 + 1] * indexed[1] / 255 + 255 - indexed[1]];
rgb[2] = lut[cmap[indexed[0] * 3 + 2] * indexed[1] / 255 + 255 - indexed[1]];
rgb += 3;
indexed += bpp;
width --;
};
}; };
} }
@ -534,37 +635,81 @@ rgb_to_gray(guchar *rgb, /* I - RGB pixels */
guchar *lut, /* I - Brightness lookup table */ guchar *lut, /* I - Brightness lookup table */
guchar *cmap) /* I - Colormap (unused) */ guchar *cmap) /* I - Colormap (unused) */
{ {
while (width > 0) if (bpp == 3)
{ {
*gray = lut[(rgb[0] * LUM_RED + rgb[1] * LUM_GREEN + rgb[2] * LUM_BLUE) / 100]; /*
gray ++; * No alpha in image...
rgb += bpp; */
width --;
while (width > 0)
{
*gray = lut[(rgb[0] * LUM_RED + rgb[1] * LUM_GREEN + rgb[2] * LUM_BLUE) / 100];
gray ++;
rgb += 3;
width --;
};
}
else
{
/*
* Image has alpha channel...
*/
while (width > 0)
{
*gray = lut[(rgb[0] * LUM_RED + rgb[1] * LUM_GREEN + rgb[2] * LUM_BLUE) *
rgb[3] / 25500 + 255 - rgb[3]];
gray ++;
rgb += bpp;
width --;
};
}; };
} }
/* /*
* 'rgb_to_rgb()' - Convert RGB image data to RGB (brightness adjusted). * 'rgb_to_rgb()' - Convert rgb image data to RGB.
*/ */
void void
rgb_to_rgb(guchar *rgbin, /* I - RGB pixels */ rgb_to_rgb(guchar *rgbin, /* I - RGB pixels */
guchar *rgbout, /* O - RGB pixels */ guchar *rgbout, /* O - RGB pixels */
int width, /* I - Width of row */ int width, /* I - Width of row */
int bpp, /* I - Bytes-per-pixel in RGB */ int bpp, /* I - Bytes-per-pixel in indexed */
guchar *lut, /* I - Brightness lookup table */ guchar *lut, /* I - Brightness lookup table */
guchar *cmap) /* I - Colormap (unused) */ guchar *cmap) /* I - Colormap */
{ {
while (width > 0) if (bpp == 3)
{ {
rgbout[0] = lut[rgbin[0]]; /*
rgbout[1] = lut[rgbin[1]]; * No alpha in image...
rgbout[2] = lut[rgbin[2]]; */
rgbout += 3; while (width > 0)
rgbin += bpp; {
width --; rgbout[0] = lut[rgbin[0]];
rgbout[1] = lut[rgbin[1]];
rgbout[2] = lut[rgbin[2]];
rgbin += 3;
rgbout += 3;
width --;
};
}
else
{
/*
* RGBA image...
*/
while (width > 0)
{
rgbout[0] = lut[rgbin[0] * rgbin[3] / 255 + 255 - rgbin[3]];
rgbout[1] = lut[rgbin[1] * rgbin[3] / 255 + 255 - rgbin[3]];
rgbout[2] = lut[rgbin[2] * rgbin[3] / 255 + 255 - rgbin[3]];
rgbin += bpp;
rgbout += 3;
width --;
};
}; };
} }

View File

@ -39,39 +39,18 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.4 1998/03/26 02:08:27 yosh * Revision 1.5 1998/04/01 22:14:48 neo
* * applied gimp-quinet-980122-0 and tweaked the tests a bit, this makes the * Added checks for print spoolers to configure.in as suggested by Michael
* optional library tests in configure. * Sweet. The print plug-in still needs some changes to Makefile.am to make
* make use of this.
* *
* * applied gimp-jbuhler-980321-0, fixes more warnings in plug-ins * Updated print and sgi plug-ins to version on the registry.
* *
* -Yosh
* *
* Revision 1.3 1998/03/19 02:11:42 adrian * --Sven
* *AlienMap/AlienMap.c CEL/CEL.c CML_explorer/CML_explorer.c
* align_layers/align_layers.c animationplay/animationplay.c
* bmp/bmpwrite.c dbbrowser/dbbrowser.c emboss/emboss.c
* exchange/exchange.c faxg3/faxg3.c faxg3/g3.c gbr/gbr.c
* gif/gif.c gqbist/gqbist.c hot/hot.c ifscompose/ifscompose.c
* iwarp/iwarp.c max_rgb/max_rgb.c maze/maze_face.c
* megawidget/megawidget.c mpeg/mpeg.c nlfilt/nlfilt.c pcx/pcx.c
* plasma/plasma.c pnm/pnm.c print/print-escp2.c
* print/print-pcl.c print/print.c scatter_hsv/scatter_hsv.c
* script-fu/script-fu-scripts.c script-fu/script-fu.c
* sinus/sinus.c tga/tga.c tileit/tileit.c
* vpropagate/vpropagate.c xpm/xpm.c: More picky picky ansi type
* stuff from gimp-hpux-980316.patch.
* *
* isnt big patches fun? * Revision 1.14 1998/03/01 17:29:42 mike
* * Added LPC/LPR/LP/LPSTAT_COMMAND definitions for portability.
* -adrian
*
* Revision 1.2 1998/01/25 09:29:27 yosh
* Plugin updates
* Properly generated aa Makefile (still not built by default)
* Sven's no args script patch
*
* -Yosh
* *
* Revision 1.13 1998/01/22 15:06:31 mike * Revision 1.13 1998/01/22 15:06:31 mike
* Added "file" printer for printing to file. * Added "file" printer for printing to file.
@ -313,10 +292,10 @@ query(void)
"This plug-in prints images from The GIMP.", "This plug-in prints images from The GIMP.",
"Prints images to PostScript, PCL, or ESC/P2 printers.", "Prints images to PostScript, PCL, or ESC/P2 printers.",
"Michael Sweet <mike@easysw.com>", "Michael Sweet <mike@easysw.com>",
"Copyright 1997 by Michael Sweet", "Copyright 1997-1998 by Michael Sweet",
PLUG_IN_VERSION, PLUG_IN_VERSION,
"<Image>/File/Print...", "<Image>/File/Print...",
"RGB*,GRAY*INDEXED*", "RGB*,GRAY*,INDEXED*",
PROC_PLUG_IN, PROC_PLUG_IN,
nargs, nargs,
0, 0,
@ -548,7 +527,7 @@ run(char *name, /* I - Name of print program. */
* 'print_dialog()' - Pop up the print dialog... * 'print_dialog()' - Pop up the print dialog...
*/ */
static int int
print_dialog(void) print_dialog(void)
{ {
int i; /* Looping var */ int i; /* Looping var */
@ -1375,7 +1354,8 @@ get_printers(void)
{ {
int i; int i;
FILE *pfile; FILE *pfile;
char line[129], char command[255],
line[129],
name[17], name[17],
defname[17]; defname[17];
@ -1385,12 +1365,12 @@ get_printers(void)
memset(plist, 0, sizeof(plist)); memset(plist, 0, sizeof(plist));
plist_count = 1; plist_count = 1;
strcpy(plist[0].name, "File"); strcpy(plist[0].name, "File");
strcpy(plist[0].command, "file.ps"); sprintf(plist[0].command, "file.ps", line);
strcpy(plist[0].driver, "ps2"); strcpy(plist[0].driver, "ps2");
plist[0].output_type = OUTPUT_COLOR; plist[0].output_type = OUTPUT_COLOR;
#ifndef sun /* Sun Solaris merges LPR and LP queues */ #ifdef LPC_COMMAND
if ((pfile = popen("lpc status", "r")) != NULL) if ((pfile = popen(LPC_COMMAND " status", "r")) != NULL)
{ {
while (fgets(line, sizeof(line), pfile) != NULL && while (fgets(line, sizeof(line), pfile) != NULL &&
plist_count < MAX_PLIST) plist_count < MAX_PLIST)
@ -1398,7 +1378,7 @@ get_printers(void)
{ {
*strchr(line, ':') = '\0'; *strchr(line, ':') = '\0';
strcpy(plist[plist_count].name, line); strcpy(plist[plist_count].name, line);
sprintf(plist[plist_count].command, "lpr -P%s -l", line); sprintf(plist[plist_count].command, LPR_COMMAND " -P%s -l", line);
strcpy(plist[plist_count].driver, "ps2"); strcpy(plist[plist_count].driver, "ps2");
plist[plist_count].output_type = OUTPUT_COLOR; plist[plist_count].output_type = OUTPUT_COLOR;
plist_count ++; plist_count ++;
@ -1406,9 +1386,10 @@ get_printers(void)
pclose(pfile); pclose(pfile);
}; };
#endif /* !sun */ #endif /* LPC_COMMAND */
if ((pfile = popen("lpstat -d -p", "r")) != NULL) #ifdef LPSTAT_COMMAND
if ((pfile = popen(LPSTAT_COMMAND " -d -p", "r")) != NULL)
{ {
while (fgets(line, sizeof(line), pfile) != NULL && while (fgets(line, sizeof(line), pfile) != NULL &&
plist_count < MAX_PLIST) plist_count < MAX_PLIST)
@ -1416,11 +1397,7 @@ get_printers(void)
if (sscanf(line, "printer %s", name) == 1) if (sscanf(line, "printer %s", name) == 1)
{ {
strcpy(plist[plist_count].name, name); strcpy(plist[plist_count].name, name);
#ifdef __sgi /* SGI still uses the SVR3 spooler */ sprintf(plist[plist_count].command, LP_COMMAND " -s -d%s", name);
sprintf(plist[plist_count].command, "lp -s -d%s", name);
#else
sprintf(plist[plist_count].command, "lp -s -d %s", name);
#endif /* __sgi */
strcpy(plist[plist_count].driver, "ps2"); strcpy(plist[plist_count].driver, "ps2");
plist[plist_count].output_type = OUTPUT_COLOR; plist[plist_count].output_type = OUTPUT_COLOR;
plist_count ++; plist_count ++;
@ -1431,6 +1408,7 @@ get_printers(void)
pclose(pfile); pclose(pfile);
}; };
#endif /* LPSTAT_COMMAND */
if (plist_count > 2) if (plist_count > 2)
qsort(plist + 1, plist_count - 1, sizeof(plist_t), qsort(plist + 1, plist_count - 1, sizeof(plist_t),

View File

@ -22,12 +22,18 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.2 1998/01/25 09:29:28 yosh * Revision 1.3 1998/04/01 22:14:49 neo
* Plugin updates * Added checks for print spoolers to configure.in as suggested by Michael
* Properly generated aa Makefile (still not built by default) * Sweet. The print plug-in still needs some changes to Makefile.am to make
* Sven's no args script patch * make use of this.
* *
* -Yosh * Updated print and sgi plug-ins to version on the registry.
*
*
* --Sven
*
* Revision 1.10 1998/03/01 17:20:48 mike
* Updated version number & date.
* *
* Revision 1.9 1998/01/21 21:33:47 mike * Revision 1.9 1998/01/21 21:33:47 mike
* Added Level 2 PostScript driver. * Added Level 2 PostScript driver.
@ -85,7 +91,7 @@
* Constants... * Constants...
*/ */
#define PLUG_IN_VERSION "1.3 - 22 January 1998" #define PLUG_IN_VERSION "1.4 - 1 March 1998"
#define PLUG_IN_NAME "Print" #define PLUG_IN_NAME "Print"
#define MEDIA_LETTER 0 /* 8.5x11" a.k.a. "A" size */ #define MEDIA_LETTER 0 /* 8.5x11" a.k.a. "A" size */

View File

@ -34,35 +34,15 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.3 1998/03/26 02:08:28 yosh * Revision 1.4 1998/04/01 22:14:50 neo
* * applied gimp-quinet-980122-0 and tweaked the tests a bit, this makes the * Added checks for print spoolers to configure.in as suggested by Michael
* optional library tests in configure. * Sweet. The print plug-in still needs some changes to Makefile.am to make
* make use of this.
* *
* * applied gimp-jbuhler-980321-0, fixes more warnings in plug-ins * Updated print and sgi plug-ins to version on the registry.
* *
* -Yosh
* *
* Revision 1.2 1998/03/16 06:33:56 yosh * --Sven
* configure saves CFLAGS properly
* all plugins should parse gtkrc now
*
* -Yosh
*
* Revision 1.1.1.1 1997/11/24 22:04:37 sopwith
* Let's try this import one last time.
*
* Revision 1.3 1997/11/18 03:04:28 nobody
* fixed ugly comment-bugs introduced by evil darkwing
* keep out configuration empty dirs
* --darkwing
*
* Revision 1.2 1997/11/17 05:44:02 nobody
* updated ChangeLog
* dropped non-working doc/Makefile entries
* applied many fixes from the registry as well as the devel ML
* applied missing patches by Art Haas
*
* --darkwing
* *
* Revision 1.3 1997/11/14 17:17:59 mike * Revision 1.3 1997/11/14 17:17:59 mike
* Updated to dynamically allocate return params in the run() function. * Updated to dynamically allocate return params in the run() function.
@ -78,7 +58,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h>
#include <signal.h> #include <signal.h>
#include "sgi.h" /* SGI image library definitions */ #include "sgi.h" /* SGI image library definitions */
@ -482,7 +461,7 @@ load_image(char *filename) /* I - File to load */
/* /*
* 'save_image()' - Save the specified image to an SGI file. * 'save_image()' - Save the specified image to a PNG file.
*/ */
static gint static gint
@ -493,6 +472,8 @@ save_image(char *filename, /* I - File to save to */
int i, j, /* Looping var */ int i, j, /* Looping var */
x, /* Current X coordinate */ x, /* Current X coordinate */
y, /* Current Y coordinate */ y, /* Current Y coordinate */
image_type, /* Type of image */
layer_type, /* Type of drawable/layer */
tile_height, /* Height of tile in GIMP */ tile_height, /* Height of tile in GIMP */
count, /* Count of rows to put in image */ count, /* Count of rows to put in image */
zsize; /* Number of channels in file */ zsize; /* Number of channels in file */
@ -529,12 +510,6 @@ save_image(char *filename, /* I - File to save to */
case RGBA_IMAGE : case RGBA_IMAGE :
zsize = 4; zsize = 4;
break; break;
case INDEXED_IMAGE :
case INDEXEDA_IMAGE:
/* we should never be asked to save images of this type */
g_print("internal error: cannot save indexed image\n");
gimp_quit();
}; };
/* /*
@ -693,7 +668,6 @@ save_dialog(void)
argv[0] = g_strdup("sgi"); argv[0] = g_strdup("sgi");
gtk_init(&argc, &argv); gtk_init(&argc, &argv);
gtk_rc_parse(gimp_gtkrc());
signal(SIGBUS, SIG_DFL); signal(SIGBUS, SIG_DFL);
signal(SIGSEGV, SIG_DFL); signal(SIGSEGV, SIG_DFL);

View File

@ -22,50 +22,15 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.3 1998/03/26 02:08:30 yosh * Revision 1.4 1998/04/01 22:14:51 neo
* * applied gimp-quinet-980122-0 and tweaked the tests a bit, this makes the * Added checks for print spoolers to configure.in as suggested by Michael
* optional library tests in configure. * Sweet. The print plug-in still needs some changes to Makefile.am to make
* make use of this.
* *
* * applied gimp-jbuhler-980321-0, fixes more warnings in plug-ins * Updated print and sgi plug-ins to version on the registry.
* *
* -Yosh
* *
* Revision 1.2 1998/03/25 02:17:34 yosh * --Sven
* * configure.in: corrected test for libXmu for some systems; added test for
* difftime
*
* * app/main.c: use glib ATEXIT macro
*
* * app/text_tool.c: applied gimp-stric-980321-0 (text preview refresh)
*
* * plug-ins/script-fu/script-fu-console.c: don't need to init gtkpreview stuff,
* since we don't use them
*
* * plug-ins/script-fu/: many portability fixes
*
* * plug-ins/pnm/pnm.c: sprintf portability patch
*
* * plug-ins now #define RAND_MAX if needed
*
* * plug-ins/sparkle/sparkle.c: applied gimp-joke-980322-1
*
* -Yosh
*
* Revision 1.1.1.1 1997/11/24 22:04:37 sopwith
* Let's try this import one last time.
*
* Revision 1.3 1997/11/18 03:04:29 nobody
* fixed ugly comment-bugs introduced by evil darkwing
* keep out configuration empty dirs
* --darkwing
*
* Revision 1.2 1997/11/17 05:44:04 nobody
* updated ChangeLog
* dropped non-working doc/Makefile entries
* applied many fixes from the registry as well as the devel ML
* applied missing patches by Art Haas
*
* --darkwing
* *
* Revision 1.2 1997/06/18 00:55:28 mike * Revision 1.2 1997/06/18 00:55:28 mike
* Updated to hold length table when writing. * Updated to hold length table when writing.
@ -80,8 +45,6 @@
# include <stdio.h> # include <stdio.h>
# include <stdlib.h> # include <stdlib.h>
# include <unistd.h>
# include <string.h>
# ifdef __cplusplus # ifdef __cplusplus
extern "C" { extern "C" {

View File

@ -37,29 +37,15 @@
* Revision History: * Revision History:
* *
* $Log$ * $Log$
* Revision 1.2 1998/03/26 02:08:31 yosh * Revision 1.3 1998/04/01 22:14:53 neo
* * applied gimp-quinet-980122-0 and tweaked the tests a bit, this makes the * Added checks for print spoolers to configure.in as suggested by Michael
* optional library tests in configure. * Sweet. The print plug-in still needs some changes to Makefile.am to make
* make use of this.
* *
* * applied gimp-jbuhler-980321-0, fixes more warnings in plug-ins * Updated print and sgi plug-ins to version on the registry.
* *
* -Yosh
* *
* Revision 1.1.1.1 1997/11/24 22:04:37 sopwith * --Sven
* Let's try this import one last time.
*
* Revision 1.3 1997/11/18 03:04:29 nobody
* fixed ugly comment-bugs introduced by evil darkwing
* keep out configuration empty dirs
* --darkwing
*
* Revision 1.2 1997/11/17 05:44:04 nobody
* updated ChangeLog
* dropped non-working doc/Makefile entries
* applied many fixes from the registry as well as the devel ML
* applied missing patches by Art Haas
*
* --darkwing
* *
* Revision 1.3 1997/07/02 16:40:16 mike * Revision 1.3 1997/07/02 16:40:16 mike
* sgiOpen() wasn't opening files with "rb" or "wb+". This caused problems * sgiOpen() wasn't opening files with "rb" or "wb+". This caused problems
@ -75,10 +61,6 @@
* Initial revision * Initial revision
*/ */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sgi.h" #include "sgi.h"