1
/* Copyright (C) 2001-2006 Artifex Software, Inc.
4
This software is provided AS-IS with no warranty, either express or
7
This software is distributed under license and may not be copied, modified
8
or distributed except as expressly authorized under the terms of that
9
license. Refer to licensing information at http://www.artifex.com/
10
or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11
San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
14
/* $Id: spprint.h 8022 2007-06-05 22:23:38Z giles $ */
15
/* Print values in ASCII form on a stream */
17
#ifndef spprint_INCLUDED
18
# define spprint_INCLUDED
20
/* Define an opaque type for streams. */
21
#ifndef stream_DEFINED
22
# define stream_DEFINED
23
typedef struct stream_s stream;
26
/* Put a character on a stream. */
27
#define stream_putc(s, c) spputc(s, c)
29
/* Put a byte array on a stream. */
30
int stream_write(stream * s, const void *ptr, uint count);
32
/* Put a string on a stream. */
33
int stream_puts(stream * s, const char *str);
36
* Print (a) floating point number(s) using a format. This is needed
37
* because %f format always prints a fixed number of digits after the
38
* decimal point, and %g format may use %e format, which PDF disallows.
39
* These functions return a pointer to the next %-element of the format, or
40
* to the terminating 0.
42
const char *pprintg1(stream * s, const char *format, floatp v);
43
const char *pprintg2(stream * s, const char *format, floatp v1, floatp v2);
44
const char *pprintg3(stream * s, const char *format,
45
floatp v1, floatp v2, floatp v3);
46
const char *pprintg4(stream * s, const char *format,
47
floatp v1, floatp v2, floatp v3, floatp v4);
48
const char *pprintg6(stream * s, const char *format,
49
floatp v1, floatp v2, floatp v3, floatp v4,
50
floatp v5, floatp v6);
53
* The rest of these printing functions exist solely because the ANSI C
54
* "standard" for functions with a variable number of arguments is not
55
* implemented properly or consistently across compilers.
57
/* Print (an) int value(s) using a format. */
58
const char *pprintd1(stream * s, const char *format, int v);
59
const char *pprintd2(stream * s, const char *format, int v1, int v2);
60
const char *pprintd3(stream * s, const char *format,
61
int v1, int v2, int v3);
62
const char *pprintd4(stream * s, const char *format,
63
int v1, int v2, int v3, int v4);
65
/* Print a long value using a format. */
66
const char *pprintld1(stream * s, const char *format, long v);
67
const char *pprintld2(stream * s, const char *format, long v1, long v2);
68
const char *pprintld3(stream * s, const char *format,
69
long v1, long v2, long v3);
71
/* Print (a) string(s) using a format. */
72
const char *pprints1(stream * s, const char *format, const char *str);
73
const char *pprints2(stream * s, const char *format,
74
const char *str1, const char *str2);
75
const char *pprints3(stream * s, const char *format,
76
const char *str1, const char *str2, const char *str3);
78
#endif /* spprint_INCLUDED */