2 |
- |
1 |
/* Copyright (C) 1997, 1998, 1999 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: spprint.h,v 1.6 2002/06/16 05:00:54 lpd Exp $ */
|
|
|
18 |
/* Print values in ASCII form on a stream */
|
|
|
19 |
|
|
|
20 |
#ifndef spprint_INCLUDED
|
|
|
21 |
# define spprint_INCLUDED
|
|
|
22 |
|
|
|
23 |
/* Define an opaque type for streams. */
|
|
|
24 |
#ifndef stream_DEFINED
|
|
|
25 |
# define stream_DEFINED
|
|
|
26 |
typedef struct stream_s stream;
|
|
|
27 |
#endif
|
|
|
28 |
|
|
|
29 |
/* Put a character on a stream. */
|
|
|
30 |
#define stream_putc(s, c) spputc(s, c)
|
|
|
31 |
|
|
|
32 |
/* Put a byte array on a stream. */
|
|
|
33 |
int stream_write(stream * s, const void *ptr, uint count);
|
|
|
34 |
|
|
|
35 |
/* Put a string on a stream. */
|
|
|
36 |
int stream_puts(stream * s, const char *str);
|
|
|
37 |
|
|
|
38 |
/*
|
|
|
39 |
* Print (a) floating point number(s) using a format. This is needed
|
|
|
40 |
* because %f format always prints a fixed number of digits after the
|
|
|
41 |
* decimal point, and %g format may use %e format, which PDF disallows.
|
|
|
42 |
* These functions return a pointer to the next %-element of the format, or
|
|
|
43 |
* to the terminating 0.
|
|
|
44 |
*/
|
|
|
45 |
const char *pprintg1(stream * s, const char *format, floatp v);
|
|
|
46 |
const char *pprintg2(stream * s, const char *format, floatp v1, floatp v2);
|
|
|
47 |
const char *pprintg3(stream * s, const char *format,
|
|
|
48 |
floatp v1, floatp v2, floatp v3);
|
|
|
49 |
const char *pprintg4(stream * s, const char *format,
|
|
|
50 |
floatp v1, floatp v2, floatp v3, floatp v4);
|
|
|
51 |
const char *pprintg6(stream * s, const char *format,
|
|
|
52 |
floatp v1, floatp v2, floatp v3, floatp v4,
|
|
|
53 |
floatp v5, floatp v6);
|
|
|
54 |
|
|
|
55 |
/*
|
|
|
56 |
* The rest of these printing functions exist solely because the ANSI C
|
|
|
57 |
* "standard" for functions with a variable number of arguments is not
|
|
|
58 |
* implemented properly or consistently across compilers.
|
|
|
59 |
*/
|
|
|
60 |
/* Print (an) int value(s) using a format. */
|
|
|
61 |
const char *pprintd1(stream * s, const char *format, int v);
|
|
|
62 |
const char *pprintd2(stream * s, const char *format, int v1, int v2);
|
|
|
63 |
const char *pprintd3(stream * s, const char *format,
|
|
|
64 |
int v1, int v2, int v3);
|
|
|
65 |
const char *pprintd4(stream * s, const char *format,
|
|
|
66 |
int v1, int v2, int v3, int v4);
|
|
|
67 |
|
|
|
68 |
/* Print a long value using a format. */
|
|
|
69 |
const char *pprintld1(stream * s, const char *format, long v);
|
|
|
70 |
const char *pprintld2(stream * s, const char *format, long v1, long v2);
|
|
|
71 |
const char *pprintld3(stream * s, const char *format,
|
|
|
72 |
long v1, long v2, long v3);
|
|
|
73 |
|
|
|
74 |
/* Print (a) string(s) using a format. */
|
|
|
75 |
const char *pprints1(stream * s, const char *format, const char *str);
|
|
|
76 |
const char *pprints2(stream * s, const char *format,
|
|
|
77 |
const char *str1, const char *str2);
|
|
|
78 |
const char *pprints3(stream * s, const char *format,
|
|
|
79 |
const char *str1, const char *str2, const char *str3);
|
|
|
80 |
|
|
|
81 |
#endif /* spprint_INCLUDED */
|