Commit 9663a97b authored by Sven Neumann's avatar Sven Neumann Committed by Sven Neumann
Browse files

INSTALL depend on libgimpprint >= 4.2.0 for the print plug-in. You need to

2002-05-07  Sven Neumann  <sven@gimp.org>

	* INSTALL
	* configure.in: depend on libgimpprint >= 4.2.0 for the print plug-in.
	You need to --disable-print to build w/o print support.

	* plug-ins/Makefile.am: build print plug-in conditionally.

	* plug-ins/print/Makefile.am
	* plug-ins/print/gimp_color_window.c
	* plug-ins/print/gimp_main_window.c
	* plug-ins/print/print.c
	* plug-ins/print/print_gimp.h
	* plug-ins/print/print-image-gimp.c: the print plug-in from the
	gimpprint 4.2.1 release adapted to build inside the gimp tree and
	ported to gtk+-2.0. Not yet free of deprecated code.

	* plug-ins/print/README
	* plug-ins/print/RELNOTES
	* plug-ins/print/escputil-1.3.1.in
	* plug-ins/print/escputil.c
	* plug-ins/print/print-canon.c
	* plug-ins/print/print-dither.c
	* plug-ins/print/print-escp2.c
	* plug-ins/print/print-intl.h
	* plug-ins/print/print-pcl.c
	* plug-ins/print/print-printers.c
	* plug-ins/print/print-ps.c
	* plug-ins/print/print-util.c
	* plug-ins/print/print-weave.c
	* plug-ins/print/print.h
	* plug-ins/print/quickmatrix257.h
	* plug-ins/print/ran.367.179.h: removed.
parent a12067d2
2002-05-07 Sven Neumann <sven@gimp.org>
* INSTALL
* configure.in: depend on libgimpprint >= 4.2.0 for the print plug-in.
You need to --disable-print to build w/o print support.
* plug-ins/Makefile.am: build print plug-in conditionally.
* plug-ins/print/Makefile.am
* plug-ins/print/gimp_color_window.c
* plug-ins/print/gimp_main_window.c
* plug-ins/print/print.c
* plug-ins/print/print_gimp.h
* plug-ins/print/print-image-gimp.c: the print plug-in from the
gimpprint 4.2.1 release adapted to build inside the gimp tree and
ported to gtk+-2.0. Not yet free of deprecated code.
* plug-ins/print/README
* plug-ins/print/RELNOTES
* plug-ins/print/escputil-1.3.1.in
* plug-ins/print/escputil.c
* plug-ins/print/print-canon.c
* plug-ins/print/print-dither.c
* plug-ins/print/print-escp2.c
* plug-ins/print/print-intl.h
* plug-ins/print/print-pcl.c
* plug-ins/print/print-printers.c
* plug-ins/print/print-ps.c
* plug-ins/print/print-util.c
* plug-ins/print/print-weave.c
* plug-ins/print/print.h
* plug-ins/print/quickmatrix257.h
* plug-ins/print/ran.367.179.h: removed.
2002-05-06 Nathan Summers <rock@gimp.org>
 
* libgimpproxy/Makefile.am: correct a cut'n'paste mistake. The build
......
......@@ -81,6 +81,11 @@ recognizes. These are:
support for TIFF, JPEG or PNG you need to explicitely disable
them using the options given above.
--disable-print. The print plug-in requires a recent version of
libgimpprint. If you don't have it already installed, download
it from http://gimp-print.sourceforge.net/. If you want to compile
GIMP without support for printing, use the --disable-print option.
--enable-perl and --disable-perl. The perl extension does not build
on all systems. If you experience problems use --disable-perl
and gimp will not even try to built it. The perl extension does
......@@ -92,12 +97,12 @@ recognizes. These are:
get many errors on startup. See README.perl for even finer grained
control about installation paths (and distribution making).
--enable-threads and --enable-mp. This options control whether to build
GIMP with or without support for multiple processors. This options are
off by default. If you do have multiply processors and run GIMP with
an OS supporting them you will like to enable this features to use
all of your horsepower. Enabling it on singleprocessor systems won't
harm but cause a bit processing overhead.
--enable-mp. This options control whether to build GIMP with or without
support for multiple processors. This option is off by default. If
you do have multiply processors and run GIMP with an OS supporting
them you will like to enable this features to use all of your
horsepower. Enabling it on singleprocessor systems won't harm but
cause a bit processing overhead.
--with-sendmail=[PATH]. This option is used to tell GIMP where to find
the sendmail command. Normally this options don't have to be used
......
......@@ -7,6 +7,7 @@ GTK_REQUIRED_VERSION=$GLIB_REQUIRED_VERSION
PANGOFT2_REQUIRED_VERSION=1.0.0
GTKDOC_REQUIRED_VERSION=0.9
GTKHTML2_REQUIRED_VERSION=1.99.5
GIMPPRINT_REQUIRED_VERSION=4.2.0
#
# Making releases:
......@@ -672,7 +673,7 @@ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
dnl This is for the mail plug-in
sendmail_path=":"
AC_ARG_WITH(sendmail_path, [ --with-sendmail=DIR set sendmail command location],
AC_ARG_WITH(sendmail, [ --with-sendmail=DIR set sendmail command location],
if eval "test x$with_sendmail != x"; then
sendmail_path=$with_sendmail
fi)
......@@ -682,9 +683,33 @@ if test $ac_cv_path_SENDMAIL != ":"; then
MAILER="-DMAILER=\\\"$ac_cv_path_SENDMAIL\\\""
fi
dnl This is for the print plug-in
GIMP_PRINT_VERSION="4.0.4"
GIMP_PRINT_RELEASE_DATE="02\ Dec\ 2000"
AC_ARG_ENABLE(print, [ --disable-print build without print support (requires libgimpprint)])
if test "x$enable_print" != "xno"; then
AC_PATH_PROG(PRINT_CONFIG, gimpprint-config, no)
if test "x$PRINT_CONFIG" != "xno"; then
AC_MSG_CHECKING(for gimpprint >= $GIMPPRINT_REQUIRED_VERSION)
print_version=`$PRINT_CONFIG --version`
if expr $print_version \>= $GIMPPRINT_REQUIRED_VERSION >/dev/null; then
AC_MSG_RESULT([yes (version $print_version)])
PRINT=print
PRINT_LIBS=`$PRINT_CONFIG --libs`
PRINT_CFLAGS=`$PRINT_CONFIG --cflags`
else
AC_MSG_WARN([
*** libgimpprint version $print_version is too old.
*** You need at least version $GIMPPRINT_REQUIRED_VERSION.])
fi
fi
fi
if test x$enable_print != xno && test -z "$PRINT"; then
AC_MSG_ERROR([
*** Check for libgimpprint failed. You can build without it by passing
*** --without-gimpprint to configure but you won't be able to print then.])
fi
dnl This is for the gimp-perl plug-in
AC_ARG_ENABLE(perl, [ --enable-perl build perl extension [by default disabled]
......@@ -848,9 +873,10 @@ AC_SUBST(GAP_DECODE_MPEG)
AC_SUBST(XPM)
AC_SUBST(LIBXPM)
AC_SUBST(LIBUCB)
AC_SUBST(GIMP_PRINT_VERSION)
AC_SUBST(GIMP_PRINT_RELEASE_DATE)
AC_SUBST(MAILER)
AC_SUBST(PRINT)
AC_SUBST(PRINT_LIBS)
AC_SUBST(PRINT_CFLAGS)
AC_SUBST(GIMP_THREAD_FLAGS)
AC_SUBST(GIMP_THREAD_LIBS)
AC_SUBST(GIMP_MP_FLAGS)
......@@ -956,7 +982,6 @@ plug-ins/maze/Makefile
plug-ins/mosaic/Makefile
plug-ins/pagecurl/Makefile
plug-ins/print/Makefile
plug-ins/print/escputil-1.3.1
plug-ins/rcm/Makefile
plug-ins/sel2path/Makefile
plug-ins/sgi/Makefile
......
......@@ -51,7 +51,7 @@ SUBDIRS = \
maze \
mosaic \
pagecurl \
print \
$(PRINT) \
rcm \
sgi \
sel2path \
......
......@@ -4,5 +4,3 @@ Makefile
_libs
.libs
print
escputil-1.3
escputil-1.3.1
## Process this file with automake to produce Makefile.in
## When updating gimp-print, do not forget to update
## GIMP_PRINT_VERSION and GIMP_PRINT_RELEASE_DATE
## in the toplevel configure.in !!
libexecdir = $(gimpplugindir)/plug-ins
libexec_PROGRAMS = print
bin_PROGRAMS = escputil-1.3
print_SOURCES = @STRIP_BEGIN@ \
print-canon.c \
print-dither.c \
print-escp2.c \
print-intl.h \
print-pcl.c \
print-ps.c \
print-util.c \
print-weave.c \
print.h \
quickmatrix257.h \
ran.367.179.h \
print-image-gimp.c \
print.c \
gimp_color_window.c \
gimp_main_window.c \
print_gimp.h \
print.c \
print-image-gimp.c \
gimp_color_window.c \
gimp_main_window.c \
print_gimp.h \
@STRIP_END@
escputil_1_3_SOURCES = escputil.c
man_MANS = escputil-1.3.1
EXTRA_DIST = print-printers.c
AM_CPPFLAGS = @STRIP_BEGIN@ \
-DLOCALEDIR=\""$(localedir)"\" \
-DVERSION=\"$(GIMP_PRINT_VERSION)\" \
-DRELEASE_DATE=\"$(GIMP_PRINT_RELEASE_DATE)\" \
-DLOCALEDIR=\""$(localedir)"\" \
@STRIP_END@
INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) \
$(GTK_CFLAGS) \
$(PRINT_CFLAGS) \
-I$(includedir) \
@STRIP_END@
......@@ -56,44 +30,6 @@ LDADD = @STRIP_BEGIN@ \
$(top_builddir)/libgimpcolor/libgimpcolor-$(LT_RELEASE).la \
$(top_builddir)/libgimpbase/libgimpbase-$(LT_RELEASE).la \
$(GTK_LIBS) \
$(PRINT_LIBS) \
$(INTLLIBS) \
@STRIP_END@
escputil_1_3_LDADD =
install-exec-hook:
if DEFAULT_BINARY
cd $(DESTDIR)$(bindir) \
&& rm -f escputil \
&& $(LN_S) escputil-1.3 escputil
endif
install-data-hook:
if DEFAULT_BINARY
@list='$(man_MANS)'; \
for i in $$list; do \
s=`echo $$i | sed -e 's/.*\\(.\\)$$/\1/'`; \
n=`echo $$i | sed -e 's/-[^-]*$$//'`; \
f="$$n.$$s"; \
echo "cd $(DESTDIR)$(mandir)/man$$s"; \
cd $(DESTDIR)$(mandir)/man$$s; \
echo "rm -f $$f"; \
rm -f $$f; \
echo "ln -s $$i $$f"; \
ln -s $$i $$f; \
done
endif
uninstall-local:
if DEFAULT_BINARY
@echo " rm -f $(DESTDIR)$(bindir)/escputil"; \
rm -f $(DESTDIR)$(bindir)/escputil
@list='$(man_MANS)'; \
for i in $$list; do \
s=`echo $$i | sed -e 's/.*\\(.\\)$$/\1/'`; \
n=`echo $$i | sed -e 's/-[^-]*$$//'`; \
f="$$n.$$s"; \
echo " rm -f $(DESTDIR)$(mandir)/man$$s/$$f"; \
rm -f $(DESTDIR)$(mandir)/man$$s/$$f; \
done
endif
This is Gimp-Print version 4.0.4, a stable release in the 4.0 line.
Gimp-print is the print facility for the Gimp, and in addition a suite
of drivers that may be used with common UNIX spooling systems using
GhostScript or CUPS. These drivers provide printing quality for
UNIX/Linux on a par with proprietary vendor-supplied drivers in many
cases, and can be used for many of the most demanding printing tasks.
Please read the release notes (RELNOTES) carefully, as this release
has many incompatibilities with 3.1 and 4.0 alpha releases, and minor
incompatibilities with 4.0b1.
BASIC INSTALLATION
If you have downloaded a .tar.gz file (tarball), you should follow
these directions.
To build and install the Gimp Print plug-in:
./configure
make
make install
This installs two programs: the print plugin itself (named "print") in
your system Gimp plugin directory, and a utility named "escputil" for
performing head cleaning, nozzle alignment, and other tasks on Epson
Stylus inkjet printers. Type "escputil" for a description of the
options and functionality.
Please check our web site at http://gimp-print.sourceforge.net for
details about what is and is not supported.
Please report any problems to gimp-print-devel@sourceforge.net.
If you have installed the Gimp as a precompiled package (e. g. from an
RPM), you will need to install the gimp-devel package as well as the
gimp package. The gimp package as supplied in most distributions only
contains what's needed to run the Gimp. The gimp-devel package
contains additional files required to actually build new plugins.
If you have installed the Gimp from source on Linux: after running
make install, you must run ldconfig as root before attempting to build
this plugin.
GHOSTSCRIPT
This package includes a Ghostscript driver that may be built, allowing
use of this software for general printing purposes. Please read
Ghost/README for more information, including how to build and install
it.
The Ghostscript driver also includes everything necessary to configure
use with Grant Taylor's Foomatic printing package (see
http://www.linuxprinting.org for a description of this package).
CUPS
This package includes a CUPS driver that may be built, allowing use of
this software for general printing purposes. Please read cups/README
for more information, including how to build and install it.
If you prefer Cups-o-matic, instructions may be found in Ghost/README.
RECOMMENDED SETTINGS
We recommend starting with all default settings for the slider
adjustments in the Color Adjustment window. The settings can be
adjusted as necessary for particular combinations of ink, paper, and
subject material.
We recommend use of the Adaptive Hybrid dithering algorithm in most
cases. Users of four color printers may find that the Ordered
dithering algorithm is faster and produces nearly as good output. Use
of this method is strongly discouraged on six color (photo) printers.
On most inkjet printers, 720 dpi will produce very high quality;
1440x720 dpi will produce extremely high quality.
SUPPORT
There are four principal ways of requesting support for this package:
1) There are public forums on Sourceforge dedicated to this package.
Please see http://sourceforge.net/forum/?group_id=1537 for more
information. The Help forum is a good source of information.
2) If you have a technical support issue that does not appear to be a
bug in the software, you can use the Tech Support Manager. Please
see http://sourceforge.net/support/?group_id=1537.
3) If you have found a clear bug in the package, you may file a bug
report at http://sourceforge.net/bugs/?group_id=1537.
4) You may send mail to the gimp-print-devel@sourceforge.net mailing
list. This is recommended as a last resort only.
USE OF THE CVS REPOSITORY
If you have a copy of the source from the CVS repository, then prior
to running configure, you must
aclocal;autoconf;automake
If you do run aclocal, beware that versions of the Gimp from 1.1.17
and earlier have a version of gimp.m4 that will create an incorrect
configure script. The patch is as follows:
diff -u /usr/local/share/aclocal/gimp.m4~ /usr/local/share/aclocal/gimp.m4
--- /usr/local/share/aclocal/gimp.m4~ Tue Mar 30 13:49:58 1999
+++ /usr/local/share/aclocal/gimp.m4 Fri Feb 11 22:34:47 2000
@@ -134,6 +134,13 @@
AC_TRY_LINK([
#include <stdio.h>
#include <libgimp/gimp.h>
+GPlugInInfo PLUG_IN_INFO = /* Plug-in information */
+{
+ NULL, /* init_proc */
+ NULL, /* quit_proc */
+ NULL, /* query_proc */
+ NULL, /* run_proc */
+};
], [ return 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GIMP or finding the wrong"
If you wish to build the Ghostscript driver, you must run 'make ghost'
from top level.
If you wish to build the CUPS driver, you must run 'make cups'
from top level.
If you are building this from a release, you should not have any
trouble because the configure script will already exist.
Enjoy!
This diff is collapsed.
.TH ESCPUTIL 1 @GIMP_PRINT_RELEASE_DATE@ "Version @GIMP_PRINT_VERSION@" "GIMP Manual Pages"
.SH NAME
escputil - maintain Epson Stylus inkjet printers
.SH SYNOPSIS
.B escputil [\-P printer \| \-r device] [\-m model] [\-u]
[\-c \| \-n | \-a \| \-i] [\-q]
.SH DESCRIPTION
.PP
\fIescputil\fP is a command line utility to perform various
maintenance tasks on Epson Stylus inkjet printers. These tasks
include head alignment, head cleaning, nozzle check, printer
identification, and retrieval of ink level from the printer.
.SH OPTIONS
.l
\fIescputil\fP accepts the following options:
.TP 8
.B \-P, \-\-printer-name \fI<printer>\fP
Specify the name of the printer to operate on.
Default is the default system printer.
.TP 8
.B \-r, \-\-raw-device \fI<device>\fP
Specify the name of the device to write to directly
rather than going through a printer queue. You must use this (rather
than specifying a printer) when retrieving ink levels or identifying
the printer, or if you wish to perform head alignment without
specifying the printer model.
.TP 8
.B \-c, \-\-clean-head
Clean the print head. This can also be performed from the printer
front panel.
.TP 8
.B \-n, \-\-nozzle-check
Print a nozzle test pattern. Dirty or clogged nozzles will show as
gaps in the pattern. If you see any gaps, you should run a
head cleaning pass or two.
.TP 8
.B \-a, \-\-align-head
Align the print head. CAUTION: Misuse of this utility may result in
poor print quality and/or damage to the printer. You must either
specify the printer model with the \-m option, or use the raw printer
device to allow escputil to detect the printer model.
.TP 8
.B \-i, \-\-ink-level
Obtain the ink level from the printer. This requires
read/write access to the raw printer device.
.TP 8
.B \-d, \-\-identify
Query the printer for make and model information.
This requires read/write access to the raw printer
device.
.TP 8
.B \-u
The printer is connected via USB.
.TP 8
.B \-h, \-\-help
Display a list of all commandline options.
.TP 8
.B \-q, \-\-quiet
Suppress the banner.
.TP 8
.B \-m <model>
Specify the precise printer model for head alignment.
.SH COPYRIGHT
Copyright \(co 2000 Robert Krawitz (rlk@alum.mit.edu)
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
.SH OTHER INFO
The canonical place to find GIMP info is at http://www.gimp.org/.
The homepage of the gimp-print project from which this utility was
contributed is located at http://gimp-print.sourceforge.net/.
.SH AUTHORS
Robert Krawitz.
.SH BUGS
.PP
USB-connected printers sometimes fail to identify or return ink
levels. You may have to repeat the command. This is probably a
timing issue in escputil, not a flaw in the printer.
.PP
Anything requiring bidirectional communication with the printer
(identify, ink levels, or head alignment without specifying the
printer model) requires read/write access to the printer port (for
example /dev/lp0). This may require these operations to be performed
as root.
.PP
If the printer is performing self-test or head cleaning on power
up, the identify and ink level commands will time out, although the
printer successfully receives the command. The command will need to
be reissued when the printer is quiescent.
.SH "SEE ALSO"
.BR gimp (1)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -22,13 +22,16 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gimp-print/gimp-print.h>
#include "libgimp/gimp.h"
#include "libgimp/gimpui.h"
#include "print_gimp.h"
#include "print-intl.h"
#include "libgimp/stdplugins-intl.h"
/*
......@@ -83,28 +86,71 @@ typedef struct
} Gimp_Image_t;
Image
Image_GDrawable_new(GimpDrawable *drawable)
static const char *Image_get_appname(stp_image_t *image);
static void Image_progress_conclude(stp_image_t *image);
static void Image_note_progress(stp_image_t *image,
double current, double total);
static void Image_progress_init(stp_image_t *image);
static stp_image_status_t Image_get_row(stp_image_t *image,
unsigned char *data, int row);
static int Image_height(stp_image_t *image);
static int Image_width(stp_image_t *image);
static int Image_bpp(stp_image_t *image);
static void Image_rotate_180(stp_image_t *image);
static void Image_rotate_cw(stp_image_t *image);
static void Image_rotate_ccw(stp_image_t *image);
static void Image_crop(stp_image_t *image,
int left, int top, int right, int bottom);
static void Image_vflip(stp_image_t *image);
static void Image_hflip(stp_image_t *image);
static void Image_transpose(stp_image_t *image);
static void Image_reset(stp_image_t *image);
static void Image_init(stp_image_t *image);
static stp_image_t theImage =
{
Image_init,
Image_reset,
Image_transpose,
Image_hflip,
Image_vflip,
Image_crop,
Image_rotate_ccw,
Image_rotate_cw,
Image_rotate_180,
Image_bpp,
Image_width,
Image_height,
Image_get_row,
Image_get_appname,
Image_progress_init,
Image_note_progress,
Image_progress_conclude,
NULL
};
stp_image_t *
Image_GimpDrawable_new(GimpDrawable *drawable)
{
Gimp_Image_t *i = malloc(sizeof(Gimp_Image_t));
Gimp_Image_t *i = g_malloc(sizeof(Gimp_Image_t));
i->drawable = drawable;
gimp_pixel_rgn_init(&(i->rgn), drawable, 0, 0,
drawable->width, drawable->height, FALSE, FALSE);
Image_reset((Image) i);
return i;
theImage.rep = i;
theImage.reset(&theImage);
return &theImage;
}
void
Image_init(Image image)
static void
Image_init(stp_image_t *image)
{
/* Nothing to do. */
}
void
Image_reset(Image image)
static void
Image_reset(stp_image_t *image)
{
Gimp_Image_t *i = (Gimp_Image_t *) image;
Gimp_Image_t *i = (Gimp_Image_t *) (image->rep);
i->columns = FALSE;
i->ox = 0;
i->oy = 0;
......@@ -114,10 +160,10 @@ Image_reset(Image image)
i->mirror = FALSE;
}
void
Image_transpose(Image image)
static void
Image_transpose(stp_image_t *image)
{
Gimp_Image_t *i = (Gimp_Image_t *) image;
Gimp_Image_t *i = (Gimp_Image_t *) (image->rep);
int tmp;
if (i->mirror) i->ox += i->w - 1;
......@@ -139,17 +185,17 @@ Image_transpose(Image image)
if (i->mirror) i->ox -= i->w - 1;
}
void