1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/* Copyright (C) 1997, 1998, 1999 Aladdin Enterprises. All rights reserved.
This software is licensed to a single customer by Artifex Software Inc.
under the terms of a specific OEM agreement.
*/
/*$RCSfile$ $Revision$ */
/* Print values in ASCII form on a stream */
#ifndef spprint_INCLUDED
# define spprint_INCLUDED
/* Define an opaque type for streams. */
#ifndef stream_DEFINED
# define stream_DEFINED
typedef struct stream_s stream;
#endif
/* Put a character on a stream. */
#define pputc(s, c) spputc(s, c)
/* Put a byte array on a stream. */
int pwrite(P3(stream * s, const void *ptr, uint count));
/* Put a string on a stream. */
int pputs(P2(stream * s, const char *str));
/*
* Print (a) floating point number(s) using a format. This is needed
* because %f format always prints a fixed number of digits after the
* decimal point, and %g format may use %e format, which PDF disallows.
* These functions return a pointer to the next %-element of the format, or
* to the terminating 0.
*/
const char *pprintg1(P3(stream * s, const char *format, floatp v));
const char *pprintg2(P4(stream * s, const char *format, floatp v1, floatp v2));
const char *pprintg3(P5(stream * s, const char *format,
floatp v1, floatp v2, floatp v3));
const char *pprintg4(P6(stream * s, const char *format,
floatp v1, floatp v2, floatp v3, floatp v4));
const char *pprintg6(P8(stream * s, const char *format,
floatp v1, floatp v2, floatp v3, floatp v4,
floatp v5, floatp v6));
/*
* The rest of these printing functions exist solely because the ANSI C
* "standard" for functions with a variable number of arguments is not
* implemented properly or consistently across compilers.
*/
/* Print (an) int value(s) using a format. */
const char *pprintd1(P3(stream * s, const char *format, int v));
const char *pprintd2(P4(stream * s, const char *format, int v1, int v2));
const char *pprintd3(P5(stream * s, const char *format,
int v1, int v2, int v3));
const char *pprintd4(P6(stream * s, const char *format,
int v1, int v2, int v3, int v4));
/* Print a long value using a format. */
const char *pprintld1(P3(stream * s, const char *format, long v));
const char *pprintld2(P4(stream * s, const char *format, long v1, long v2));
const char *pprintld3(P5(stream * s, const char *format,
long v1, long v2, long v3));
/* Print (a) string(s) using a format. */
const char *pprints1(P3(stream * s, const char *format, const char *str));
const char *pprints2(P4(stream * s, const char *format,
const char *str1, const char *str2));
const char *pprints3(P5(stream * s, const char *format,
const char *str1, const char *str2, const char *str3));
#endif /* spprint_INCLUDED */
|