Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
/* Copyright (C) 2000 Aladdin Enterprises.  All rights reserved.
2
 
3
  This software is provided AS-IS with no warranty, either express or
4
  implied.
5
 
6
  This software is distributed under license and may not be copied,
7
  modified or distributed except as expressly authorized under the terms
8
  of the license contained in the file LICENSE in this distribution.
9
 
10
  For more information about licensing, please refer to
11
  http://www.ghostscript.com/licensing/. For information on
12
  commercial licensing, go to http://www.artifex.com/licensing/ or
13
  contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14
  San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
*/
16
 
17
/* $Id: gdevfax.h,v 1.5 2002/06/16 07:25:26 lpd Exp $ */
18
/* Definitions and interface for fax devices */
19
 
20
#ifndef gdevfax_INCLUDED
21
#  define gdevfax_INCLUDED
22
 
23
/* Define the default device parameters. */
24
#define X_DPI 204
25
#define Y_DPI 196
26
 
27
/* Define the structure for fax devices. */
28
/* Precede this by gx_device_common and gx_prn_device_common. */
29
#define gx_fax_device_common\
30
    int AdjustWidth		/* 0 = no adjust, 1 = adjust to fax values */
31
typedef struct gx_device_fax_s {
32
    gx_device_common;
33
    gx_prn_device_common;
34
    gx_fax_device_common;
35
} gx_device_fax;
36
 
37
#define FAX_DEVICE_BODY(dtype, procs, dname, print_page)\
38
    prn_device_std_body(dtype, procs, dname,\
39
			DEFAULT_WIDTH_10THS, DEFAULT_HEIGHT_10THS,\
40
			X_DPI, Y_DPI,\
41
			0, 0, 0, 0,	/* margins */\
42
			1, print_page),\
43
    1				/* AdjustWidth */
44
 
45
/* Procedures defined in gdevfax.c */
46
 
47
/* Driver procedures */
48
dev_proc_open_device(gdev_fax_open);
49
dev_proc_get_params(gdev_fax_get_params); /* adds AdjustWidth */
50
dev_proc_put_params(gdev_fax_put_params); /* adds AdjustWidth */
51
extern const gx_device_procs gdev_fax_std_procs;
52
 
53
/* Other procedures */
54
void gdev_fax_init_state(stream_CFE_state *ss, const gx_device_fax *fdev);
55
void gdev_fax_init_fax_state(stream_CFE_state *ss,
56
			     const gx_device_fax *fdev);
57
int gdev_fax_print_strip(gx_device_printer * pdev, FILE * prn_stream,
58
			 const stream_template * temp, stream_state * ss,
59
			 int width, int row_first,
60
			 int row_end /* last + 1 */);
61
int gdev_fax_print_page(gx_device_printer *pdev, FILE *prn_stream,
62
			stream_CFE_state *ss);
63
 
64
#endif /* gdevfax_INCLUDED */