Exemple #1
0
#  define Y_DPI 600
#endif

/* Define the number of blank lines that make it worthwhile to */
/* start a new image. */
#define MIN_SKIP_LINES 2

/* We round up the LINE_SIZE to a multiple of a ulong for faster scanning. */
#define W sizeof(word)

static dev_proc_open_device(ljet5_open);
static dev_proc_close_device(ljet5_close);
static dev_proc_print_page(ljet5_print_page);

static const gx_device_procs ljet5_procs =
prn_procs(ljet5_open, gdev_prn_output_page, ljet5_close);

const gx_device_printer gs_lj5mono_device =
prn_device(ljet5_procs, "lj5mono",
	   DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,
	   X_DPI, Y_DPI,
	   0, 0, 0, 0,
	   1, ljet5_print_page);

static const gx_device_procs lj5gray_procs =
prn_color_procs(ljet5_open, gdev_prn_output_page, ljet5_close,
		gx_default_gray_map_rgb_color,
		gx_default_gray_map_color_rgb);

const gx_device_printer gs_lj5gray_device = {
    prn_device_body(gx_device_printer, lj5gray_procs, "lj5gray",
Exemple #2
0
#define iSET_MAGNIFICATION 236
                                /* magnify the page by 1, 2, 4		*/
#define iNOOP		254	/* no operation				*/
#define iEOF		255	/* end of impress document		*/

/*-------------------------------------------*/
/*-------------------------------------------*/
/* The device descriptor */

static dev_proc_print_page(imagen_print_page);
static dev_proc_open_device(imagen_prn_open);
static dev_proc_close_device(imagen_prn_close);

/* Since the print_page doesn't alter the device, this device can print in the background */
gx_device_procs imagen_procs =
        prn_procs(imagen_prn_open, gdev_prn_bg_output_page, imagen_prn_close);

#define ppdev ((gx_device_printer *)pdev)

/*-------------------------------------------*/
const gx_device_printer far_data gs_imagen_device =
  prn_device(/*prn_std_procs*/ imagen_procs,
        "imagen",
        WIDTH_10THS,
        HEIGHT_10THS,
        MAX_DPI,				/* x_dpi */
        MAX_DPI,				/* y_dpi */
        MARG_L,MARG_R,MARG_T,MARG_B,		/* margins */
        1, imagen_print_page);

/*-------------------------------------------*/
I didn't implement asynchronous IO (yet), because "`normal"' multipage-
printings like TEX-Output seem to be printed with the maximum speed whereas
drawings normally occur as one-page outputs, where asynchronous IO doesn't
help anyway.
*/

static dev_proc_open_device(sparc_open);
static dev_proc_print_page(sparc_print_page);

#define SPARC_MARGINS_A4	0.15, 0.12, 0.12, 0.15
#define SPARC_MARGINS_LETTER	0.15, 0.12, 0.12, 0.15

/* Since the print_page doesn't alter the device, this device can print in the background */
gx_device_procs prn_sparc_procs =
  prn_procs(sparc_open, gdev_prn_bg_output_page, gdev_prn_close);

const gx_device_printer far_data gs_sparc_device =
prn_device(prn_sparc_procs,
  "sparc",
  DEFAULT_WIDTH_10THS,DEFAULT_HEIGHT_10THS,
  400,400,
  0,0,0,0,
  1,
  sparc_print_page);

/* Open the printer, and set the margins. */
static int
sparc_open(gx_device *pdev)
{	/* Change the margins according to the paper size. */
        const float *m;
Exemple #4
0
(0.5") are possible, too. If you ask me, don't use the recommended top and
bottom margins, use 0" and 0.5".

 */

#define BJ200_TOP_MARGIN		0.12
#define BJ200_BOTTOM_MARGIN		0.29
#define BJ200_LETTER_SIDE_MARGIN	0.25
#define BJ200_A4_SIDE_MARGIN		0.13

static dev_proc_open_device(bj200_open);

static dev_proc_print_page(bj10e_print_page);

static gx_device_procs prn_bj200_procs =
  prn_procs(bj200_open, gdev_prn_output_page, gdev_prn_close);

const gx_device_printer far_data gs_bj200_device =
  prn_device(prn_bj200_procs, "bj200",
        DEFAULT_WIDTH_10THS,
        DEFAULT_HEIGHT_10THS,
        360,				/* x_dpi */
        360,				/* y_dpi */
        0, 0, 0, 0,			/* margins filled in by bj200_open */
        1, bj10e_print_page);

/*
 * (<*****@*****.**>, aka <*****@*****.**>):
 * My bj10ex, which as far as I can tell is just like a bj10e, needs a
 * bottom margin of 0.4" (actually, you must not print within 0.5" of
 * the bottom; somewhere, an extra 0.1" is creeping in).
Exemple #5
0
}
#endif

/* The device descriptor */
static dev_proc_print_page(bj10v_print_page);
#if 0
static dev_proc_get_initial_matrix(bj10v_get_initial_matrix);
#endif

#if 0
gx_device_procs prn_bj10v_procs =
  prn_matrix_procs(gdev_prn_open, bj10v_get_initial_matrix,
    gdev_prn_output_page, gdev_prn_close);
#endif
gx_device_procs prn_bj10v_procs =
  prn_procs(gdev_prn_open, gdev_prn_output_page, gdev_prn_close);

gx_device_printer gs_bj10v_device =
  prn_device(prn_bj10v_procs, "bj10v",
	DEFAULT_WIDTH_10THS,		/* width_10ths */
	DEFAULT_HEIGHT_10THS,	/* height_10ths */
	360,				/* x_dpi */
	360,				/* y_dpi */
	0.134, 0.507, 0.166, 0.867,	/* l, b, r, t margins */
	1, bj10v_print_page);

gx_device_printer gs_bj10vh_device =
  prn_device(prn_bj10v_procs, "bj10vh",
	DEFAULT_WIDTH_10THS,		/* width_10ths */
	DEFAULT_HEIGHT_10THS,  	/* height_10ths */
	360,				/* x_dpi */
Exemple #6
0
/* OKI MICROLINE 620CL IPL mode driver for Ghostscript */
/*
        Mar. 14, 1998	N.Tagawa

        $Id: gdevml6.c,v 1.4 2002/07/30 18:53:22 easysw Exp $
*/

#include "gdevprn.h"

/* The device descriptors */
static dev_proc_open_device(ml600_open);
static dev_proc_close_device(ml600_close);
static dev_proc_print_page(ml600_print_page);

static gx_device_procs ml600_procs =
        prn_procs(ml600_open, gdev_prn_output_page, ml600_close);

gx_device_printer gs_ml600_device =
  prn_device(ml600_procs, "ml600",
        83,				/* width_10ths, 8.3" */
        117,				/* height_10ths, 11.7" */
        600, 600,
        0.20, 0.20, 0.20, 0.20,		/* margins, lbrt */
        1, ml600_print_page);

/* ------ prototype ------ */
static int
ml_finish(
        gx_device_printer	*pdev,
        FILE	*fp);