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 */
|