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