comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 68:5028fdace37b
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>PostScript Surfaces: Cairo: A Vector Graphics Library</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
8 <link rel="up" href="cairo-surfaces.html" title="Surfaces">
9 <link rel="prev" href="cairo-PNG-Support.html" title="PNG Support">
10 <link rel="next" href="cairo-Recording-Surfaces.html" title="Recording Surfaces">
11 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18 <a href="#cairo-PostScript-Surfaces.description" class="shortcut">Description</a></span>
19 </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21 <td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="cairo-PNG-Support.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="cairo-Recording-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24 </tr></table>
25 <div class="refentry">
26 <a name="cairo-PostScript-Surfaces"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
28 <td valign="top">
29 <h2><span class="refentrytitle"><a name="cairo-PostScript-Surfaces.top_of_page"></a>PostScript Surfaces</span></h2>
30 <p>PostScript Surfaces — Rendering PostScript documents</p>
31 </td>
32 <td class="gallery_image" valign="top" align="right"></td>
33 </tr></table></div>
34 <div class="refsect1">
35 <a name="cairo-PostScript-Surfaces.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
37 <colgroup>
38 <col width="150px" class="functions_return">
39 <col class="functions_name">
40 </colgroup>
41 <tbody>
42 <tr>
43 <td class="function_type">
44 <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
45 </td>
46 <td class="function_name">
47 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create" title="cairo_ps_surface_create ()">cairo_ps_surface_create</a> <span class="c_punctuation">()</span>
48 </td>
49 </tr>
50 <tr>
51 <td class="function_type">
52 <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
53 </td>
54 <td class="function_name">
55 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create-for-stream" title="cairo_ps_surface_create_for_stream ()">cairo_ps_surface_create_for_stream</a> <span class="c_punctuation">()</span>
56 </td>
57 </tr>
58 <tr>
59 <td class="function_type">
60 <span class="returnvalue">void</span>
61 </td>
62 <td class="function_name">
63 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-restrict-to-level" title="cairo_ps_surface_restrict_to_level ()">cairo_ps_surface_restrict_to_level</a> <span class="c_punctuation">()</span>
64 </td>
65 </tr>
66 <tr>
67 <td class="function_type">
68 <span class="returnvalue">void</span>
69 </td>
70 <td class="function_name">
71 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels" title="cairo_ps_get_levels ()">cairo_ps_get_levels</a> <span class="c_punctuation">()</span>
72 </td>
73 </tr>
74 <tr>
75 <td class="function_type">const <span class="returnvalue">char</span> *
76 </td>
77 <td class="function_name">
78 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-to-string" title="cairo_ps_level_to_string ()">cairo_ps_level_to_string</a> <span class="c_punctuation">()</span>
79 </td>
80 </tr>
81 <tr>
82 <td class="function_type">
83 <span class="returnvalue">void</span>
84 </td>
85 <td class="function_name">
86 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-eps" title="cairo_ps_surface_set_eps ()">cairo_ps_surface_set_eps</a> <span class="c_punctuation">()</span>
87 </td>
88 </tr>
89 <tr>
90 <td class="function_type">
91 <a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
92 </td>
93 <td class="function_name">
94 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-get-eps" title="cairo_ps_surface_get_eps ()">cairo_ps_surface_get_eps</a> <span class="c_punctuation">()</span>
95 </td>
96 </tr>
97 <tr>
98 <td class="function_type">
99 <span class="returnvalue">void</span>
100 </td>
101 <td class="function_name">
102 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size" title="cairo_ps_surface_set_size ()">cairo_ps_surface_set_size</a> <span class="c_punctuation">()</span>
103 </td>
104 </tr>
105 <tr>
106 <td class="function_type">
107 <span class="returnvalue">void</span>
108 </td>
109 <td class="function_name">
110 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()">cairo_ps_surface_dsc_begin_setup</a> <span class="c_punctuation">()</span>
111 </td>
112 </tr>
113 <tr>
114 <td class="function_type">
115 <span class="returnvalue">void</span>
116 </td>
117 <td class="function_name">
118 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()">cairo_ps_surface_dsc_begin_page_setup</a> <span class="c_punctuation">()</span>
119 </td>
120 </tr>
121 <tr>
122 <td class="function_type">
123 <span class="returnvalue">void</span>
124 </td>
125 <td class="function_name">
126 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()">cairo_ps_surface_dsc_comment</a> <span class="c_punctuation">()</span>
127 </td>
128 </tr>
129 </tbody>
130 </table></div>
131 </div>
132 <div class="refsect1">
133 <a name="cairo-PostScript-Surfaces.other"></a><h2>Types and Values</h2>
134 <div class="informaltable"><table class="informaltable" width="100%" border="0">
135 <colgroup>
136 <col width="150px" class="name">
137 <col class="description">
138 </colgroup>
139 <tbody>
140 <tr>
141 <td class="define_keyword">#define</td>
142 <td class="function_name"><a class="link" href="cairo-PostScript-Surfaces.html#CAIRO-HAS-PS-SURFACE:CAPS" title="CAIRO_HAS_PS_SURFACE">CAIRO_HAS_PS_SURFACE</a></td>
143 </tr>
144 <tr>
145 <td class="datatype_keyword">enum</td>
146 <td class="function_name"><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t">cairo_ps_level_t</a></td>
147 </tr>
148 </tbody>
149 </table></div>
150 </div>
151 <div class="refsect1">
152 <a name="cairo-PostScript-Surfaces.description"></a><h2>Description</h2>
153 <p>The PostScript surface is used to render cairo graphics to Adobe
154 PostScript files and is a multi-page vector surface backend.</p>
155 <p>The following mime types are supported: <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG"><code class="literal">CAIRO_MIME_TYPE_JPEG</code></a>,
156 <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a>,
157 <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>,
158 <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>,
159 <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS" title="CAIRO_MIME_TYPE_EPS"><code class="literal">CAIRO_MIME_TYPE_EPS</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS"><code class="literal">CAIRO_MIME_TYPE_EPS_PARAMS</code></a>.</p>
160 <p>Source surfaces used by the PostScript surface that have a
161 <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a> mime type will be stored in PostScript
162 printer memory for the duration of the print
163 job. <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a> should only be used for small
164 frequently used sources.</p>
165 <p>The <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a> and <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a> mime types
166 are documented in <a class="link" href="cairo-PDF-Surfaces.html#ccitt" title="CCITT Fax Images">CCITT Fax Images</a>.</p>
167 <div class="refsect2">
168 <a name="eps"></a><h3>Embedding EPS files</h3>
169 <p>Encapsulated PostScript files can be embedded in the PS output by
170 setting the CAIRO_MIME_TYPE_EPS mime data on a surface to the EPS
171 data and painting the surface. The EPS will be scaled and
172 translated to the extents of the surface the EPS data is attached
173 to.</p>
174 <p>The <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS" title="CAIRO_MIME_TYPE_EPS"><code class="literal">CAIRO_MIME_TYPE_EPS</code></a> mime type requires the
175 <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS"><code class="literal">CAIRO_MIME_TYPE_EPS_PARAMS</code></a> mime data to also be provided in order
176 to specify the embeddding parameters. <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS"><code class="literal">CAIRO_MIME_TYPE_EPS_PARAMS</code></a>
177 mime data must contain a string of the form "bbox=[llx lly urx
178 ury]" that specifies the bounding box (in PS coordinates) of the
179 EPS graphics. The parameters are: lower left x, lower left y, upper
180 right x, upper right y. Normally the bbox data is identical to the
181 %%<code class="literal">BoundingBox</code> data in the EPS file.</p>
182 </div>
183 </div>
184 <div class="refsect1">
185 <a name="cairo-PostScript-Surfaces.functions_details"></a><h2>Functions</h2>
186 <div class="refsect2">
187 <a name="cairo-ps-surface-create"></a><h3>cairo_ps_surface_create ()</h3>
188 <pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
189 cairo_ps_surface_create (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>,
190 <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>,
191 <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre>
192 <p>Creates a PostScript surface of the specified size in points to be
193 written to <em class="parameter"><code>filename</code></em>
194 . See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create-for-stream" title="cairo_ps_surface_create_for_stream ()"><code class="function">cairo_ps_surface_create_for_stream()</code></a> for
195 a more flexible mechanism for handling the PostScript output than
196 simply writing it to a named file.</p>
197 <p>Note that the size of individual pages of the PostScript output can
198 vary. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size" title="cairo_ps_surface_set_size ()"><code class="function">cairo_ps_surface_set_size()</code></a>.</p>
199 <div class="refsect3">
200 <a name="cairo-ps-surface-create.parameters"></a><h4>Parameters</h4>
201 <div class="informaltable"><table class="informaltable" width="100%" border="0">
202 <colgroup>
203 <col width="150px" class="parameters_name">
204 <col class="parameters_description">
205 <col width="200px" class="parameters_annotations">
206 </colgroup>
207 <tbody>
208 <tr>
209 <td class="parameter_name"><p>filename</p></td>
210 <td class="parameter_description"><p>a filename for the PS output (must be writable), <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> may be
211 used to specify no output. This will generate a PS surface that
212 may be queried and used as a source, without generating a
213 temporary file.</p></td>
214 <td class="parameter_annotations"> </td>
215 </tr>
216 <tr>
217 <td class="parameter_name"><p>width_in_points</p></td>
218 <td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td>
219 <td class="parameter_annotations"> </td>
220 </tr>
221 <tr>
222 <td class="parameter_name"><p>height_in_points</p></td>
223 <td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td>
224 <td class="parameter_annotations"> </td>
225 </tr>
226 </tbody>
227 </table></div>
228 </div>
229 <div class="refsect3">
230 <a name="cairo-ps-surface-create.returns"></a><h4>Returns</h4>
231 <p> a pointer to the newly created surface. The caller
232 owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done
233 with it.</p>
234 <p>This function always returns a valid pointer, but it will return a
235 pointer to a "nil" surface if an error such as out of memory
236 occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p>
237 </div>
238 <p class="since">Since: 1.2</p>
239 </div>
240 <hr>
241 <div class="refsect2">
242 <a name="cairo-ps-surface-create-for-stream"></a><h3>cairo_ps_surface_create_for_stream ()</h3>
243 <pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> *
244 cairo_ps_surface_create_for_stream (<em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>,
245 <em class="parameter"><code><span class="type">void</span> *closure</code></em>,
246 <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>,
247 <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre>
248 <p>Creates a PostScript surface of the specified size in points to be
249 written incrementally to the stream represented by <em class="parameter"><code>write_func</code></em>
250 and
251 <em class="parameter"><code>closure</code></em>
252 . See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create" title="cairo_ps_surface_create ()"><code class="function">cairo_ps_surface_create()</code></a> for a more convenient way
253 to simply direct the PostScript output to a named file.</p>
254 <p>Note that the size of individual pages of the PostScript
255 output can vary. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size" title="cairo_ps_surface_set_size ()"><code class="function">cairo_ps_surface_set_size()</code></a>.</p>
256 <div class="refsect3">
257 <a name="cairo-ps-surface-create-for-stream.parameters"></a><h4>Parameters</h4>
258 <div class="informaltable"><table class="informaltable" width="100%" border="0">
259 <colgroup>
260 <col width="150px" class="parameters_name">
261 <col class="parameters_description">
262 <col width="200px" class="parameters_annotations">
263 </colgroup>
264 <tbody>
265 <tr>
266 <td class="parameter_name"><p>write_func</p></td>
267 <td class="parameter_description"><p>a <a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> to accept the output data, may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
268 to indicate a no-op <em class="parameter"><code>write_func</code></em>
269 . With a no-op <em class="parameter"><code>write_func</code></em>
270 ,
271 the surface may be queried or used as a source without
272 generating any temporary files.</p></td>
273 <td class="parameter_annotations"> </td>
274 </tr>
275 <tr>
276 <td class="parameter_name"><p>closure</p></td>
277 <td class="parameter_description"><p>the closure argument for <em class="parameter"><code>write_func</code></em>
278 </p></td>
279 <td class="parameter_annotations"> </td>
280 </tr>
281 <tr>
282 <td class="parameter_name"><p>width_in_points</p></td>
283 <td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td>
284 <td class="parameter_annotations"> </td>
285 </tr>
286 <tr>
287 <td class="parameter_name"><p>height_in_points</p></td>
288 <td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td>
289 <td class="parameter_annotations"> </td>
290 </tr>
291 </tbody>
292 </table></div>
293 </div>
294 <div class="refsect3">
295 <a name="cairo-ps-surface-create-for-stream.returns"></a><h4>Returns</h4>
296 <p> a pointer to the newly created surface. The caller
297 owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done
298 with it.</p>
299 <p>This function always returns a valid pointer, but it will return a
300 pointer to a "nil" surface if an error such as out of memory
301 occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p>
302 </div>
303 <p class="since">Since: 1.2</p>
304 </div>
305 <hr>
306 <div class="refsect2">
307 <a name="cairo-ps-surface-restrict-to-level"></a><h3>cairo_ps_surface_restrict_to_level ()</h3>
308 <pre class="programlisting"><span class="returnvalue">void</span>
309 cairo_ps_surface_restrict_to_level (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
310 <em class="parameter"><code><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> level</code></em>);</pre>
311 <p>Restricts the generated PostSript file to <em class="parameter"><code>level</code></em>
312 . See
313 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels" title="cairo_ps_get_levels ()"><code class="function">cairo_ps_get_levels()</code></a> for a list of available level values that
314 can be used here.</p>
315 <p>This function should only be called before any drawing operations
316 have been performed on the given surface. The simplest way to do
317 this is to call this function immediately after creating the
318 surface.</p>
319 <div class="refsect3">
320 <a name="cairo-ps-surface-restrict-to-level.parameters"></a><h4>Parameters</h4>
321 <div class="informaltable"><table class="informaltable" width="100%" border="0">
322 <colgroup>
323 <col width="150px" class="parameters_name">
324 <col class="parameters_description">
325 <col width="200px" class="parameters_annotations">
326 </colgroup>
327 <tbody>
328 <tr>
329 <td class="parameter_name"><p>surface</p></td>
330 <td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
331 <td class="parameter_annotations"> </td>
332 </tr>
333 <tr>
334 <td class="parameter_name"><p>level</p></td>
335 <td class="parameter_description"><p>PostScript level</p></td>
336 <td class="parameter_annotations"> </td>
337 </tr>
338 </tbody>
339 </table></div>
340 </div>
341 <p class="since">Since: 1.6</p>
342 </div>
343 <hr>
344 <div class="refsect2">
345 <a name="cairo-ps-get-levels"></a><h3>cairo_ps_get_levels ()</h3>
346 <pre class="programlisting"><span class="returnvalue">void</span>
347 cairo_ps_get_levels (<em class="parameter"><code><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> const **levels</code></em>,
348 <em class="parameter"><code><span class="type">int</span> *num_levels</code></em>);</pre>
349 <p>Used to retrieve the list of supported levels. See
350 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-restrict-to-level" title="cairo_ps_surface_restrict_to_level ()"><code class="function">cairo_ps_surface_restrict_to_level()</code></a>.</p>
351 <div class="refsect3">
352 <a name="cairo-ps-get-levels.parameters"></a><h4>Parameters</h4>
353 <div class="informaltable"><table class="informaltable" width="100%" border="0">
354 <colgroup>
355 <col width="150px" class="parameters_name">
356 <col class="parameters_description">
357 <col width="200px" class="parameters_annotations">
358 </colgroup>
359 <tbody>
360 <tr>
361 <td class="parameter_name"><p>levels</p></td>
362 <td class="parameter_description"><p>supported level list</p></td>
363 <td class="parameter_annotations"> </td>
364 </tr>
365 <tr>
366 <td class="parameter_name"><p>num_levels</p></td>
367 <td class="parameter_description"><p>list length</p></td>
368 <td class="parameter_annotations"> </td>
369 </tr>
370 </tbody>
371 </table></div>
372 </div>
373 <p class="since">Since: 1.6</p>
374 </div>
375 <hr>
376 <div class="refsect2">
377 <a name="cairo-ps-level-to-string"></a><h3>cairo_ps_level_to_string ()</h3>
378 <pre class="programlisting">const <span class="returnvalue">char</span> *
379 cairo_ps_level_to_string (<em class="parameter"><code><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> level</code></em>);</pre>
380 <p>Get the string representation of the given <em class="parameter"><code>level</code></em>
381 id. This function
382 will return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>level</code></em>
383 id isn't valid. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels" title="cairo_ps_get_levels ()"><code class="function">cairo_ps_get_levels()</code></a>
384 for a way to get the list of valid level ids.</p>
385 <div class="refsect3">
386 <a name="cairo-ps-level-to-string.parameters"></a><h4>Parameters</h4>
387 <div class="informaltable"><table class="informaltable" width="100%" border="0">
388 <colgroup>
389 <col width="150px" class="parameters_name">
390 <col class="parameters_description">
391 <col width="200px" class="parameters_annotations">
392 </colgroup>
393 <tbody><tr>
394 <td class="parameter_name"><p>level</p></td>
395 <td class="parameter_description"><p>a level id</p></td>
396 <td class="parameter_annotations"> </td>
397 </tr></tbody>
398 </table></div>
399 </div>
400 <div class="refsect3">
401 <a name="cairo-ps-level-to-string.returns"></a><h4>Returns</h4>
402 <p> the string associated to given level.</p>
403 </div>
404 <p class="since">Since: 1.6</p>
405 </div>
406 <hr>
407 <div class="refsect2">
408 <a name="cairo-ps-surface-set-eps"></a><h3>cairo_ps_surface_set_eps ()</h3>
409 <pre class="programlisting"><span class="returnvalue">void</span>
410 cairo_ps_surface_set_eps (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
411 <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="type">cairo_bool_t</span></a> eps</code></em>);</pre>
412 <p>If <em class="parameter"><code>eps</code></em>
413 is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the PostScript surface will output Encapsulated
414 PostScript.</p>
415 <p>This function should only be called before any drawing operations
416 have been performed on the current page. The simplest way to do
417 this is to call this function immediately after creating the
418 surface. An Encapsulated PostScript file should never contain more
419 than one page.</p>
420 <div class="refsect3">
421 <a name="cairo-ps-surface-set-eps.parameters"></a><h4>Parameters</h4>
422 <div class="informaltable"><table class="informaltable" width="100%" border="0">
423 <colgroup>
424 <col width="150px" class="parameters_name">
425 <col class="parameters_description">
426 <col width="200px" class="parameters_annotations">
427 </colgroup>
428 <tbody>
429 <tr>
430 <td class="parameter_name"><p>surface</p></td>
431 <td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
432 <td class="parameter_annotations"> </td>
433 </tr>
434 <tr>
435 <td class="parameter_name"><p>eps</p></td>
436 <td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to output EPS format PostScript</p></td>
437 <td class="parameter_annotations"> </td>
438 </tr>
439 </tbody>
440 </table></div>
441 </div>
442 <p class="since">Since: 1.6</p>
443 </div>
444 <hr>
445 <div class="refsect2">
446 <a name="cairo-ps-surface-get-eps"></a><h3>cairo_ps_surface_get_eps ()</h3>
447 <pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a>
448 cairo_ps_surface_get_eps (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
449 <p>Check whether the PostScript surface will output Encapsulated PostScript.</p>
450 <div class="refsect3">
451 <a name="cairo-ps-surface-get-eps.parameters"></a><h4>Parameters</h4>
452 <div class="informaltable"><table class="informaltable" width="100%" border="0">
453 <colgroup>
454 <col width="150px" class="parameters_name">
455 <col class="parameters_description">
456 <col width="200px" class="parameters_annotations">
457 </colgroup>
458 <tbody><tr>
459 <td class="parameter_name"><p>surface</p></td>
460 <td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
461 <td class="parameter_annotations"> </td>
462 </tr></tbody>
463 </table></div>
464 </div>
465 <div class="refsect3">
466 <a name="cairo-ps-surface-get-eps.returns"></a><h4>Returns</h4>
467 <p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the surface will output Encapsulated PostScript.</p>
468 </div>
469 <p class="since">Since: 1.6</p>
470 </div>
471 <hr>
472 <div class="refsect2">
473 <a name="cairo-ps-surface-set-size"></a><h3>cairo_ps_surface_set_size ()</h3>
474 <pre class="programlisting"><span class="returnvalue">void</span>
475 cairo_ps_surface_set_size (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
476 <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>,
477 <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre>
478 <p>Changes the size of a PostScript surface for the current (and
479 subsequent) pages.</p>
480 <p>This function should only be called before any drawing operations
481 have been performed on the current page. The simplest way to do
482 this is to call this function immediately after creating the
483 surface or immediately after completing a page with either
484 <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>.</p>
485 <div class="refsect3">
486 <a name="cairo-ps-surface-set-size.parameters"></a><h4>Parameters</h4>
487 <div class="informaltable"><table class="informaltable" width="100%" border="0">
488 <colgroup>
489 <col width="150px" class="parameters_name">
490 <col class="parameters_description">
491 <col width="200px" class="parameters_annotations">
492 </colgroup>
493 <tbody>
494 <tr>
495 <td class="parameter_name"><p>surface</p></td>
496 <td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
497 <td class="parameter_annotations"> </td>
498 </tr>
499 <tr>
500 <td class="parameter_name"><p>width_in_points</p></td>
501 <td class="parameter_description"><p>new surface width, in points (1 point == 1/72.0 inch)</p></td>
502 <td class="parameter_annotations"> </td>
503 </tr>
504 <tr>
505 <td class="parameter_name"><p>height_in_points</p></td>
506 <td class="parameter_description"><p>new surface height, in points (1 point == 1/72.0 inch)</p></td>
507 <td class="parameter_annotations"> </td>
508 </tr>
509 </tbody>
510 </table></div>
511 </div>
512 <p class="since">Since: 1.2</p>
513 </div>
514 <hr>
515 <div class="refsect2">
516 <a name="cairo-ps-surface-dsc-begin-setup"></a><h3>cairo_ps_surface_dsc_begin_setup ()</h3>
517 <pre class="programlisting"><span class="returnvalue">void</span>
518 cairo_ps_surface_dsc_begin_setup (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
519 <p>This function indicates that subsequent calls to
520 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> should direct comments to the Setup
521 section of the PostScript output.</p>
522 <p>This function should be called at most once per surface, and must
523 be called before any call to <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a>
524 and before any drawing is performed to the surface.</p>
525 <p>See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> for more details.</p>
526 <div class="refsect3">
527 <a name="cairo-ps-surface-dsc-begin-setup.parameters"></a><h4>Parameters</h4>
528 <div class="informaltable"><table class="informaltable" width="100%" border="0">
529 <colgroup>
530 <col width="150px" class="parameters_name">
531 <col class="parameters_description">
532 <col width="200px" class="parameters_annotations">
533 </colgroup>
534 <tbody><tr>
535 <td class="parameter_name"><p>surface</p></td>
536 <td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
537 <td class="parameter_annotations"> </td>
538 </tr></tbody>
539 </table></div>
540 </div>
541 <p class="since">Since: 1.2</p>
542 </div>
543 <hr>
544 <div class="refsect2">
545 <a name="cairo-ps-surface-dsc-begin-page-setup"></a><h3>cairo_ps_surface_dsc_begin_page_setup ()</h3>
546 <pre class="programlisting"><span class="returnvalue">void</span>
547 cairo_ps_surface_dsc_begin_page_setup (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre>
548 <p>This function indicates that subsequent calls to
549 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> should direct comments to the
550 PageSetup section of the PostScript output.</p>
551 <p>This function call is only needed for the first page of a
552 surface. It should be called after any call to
553 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()"><code class="function">cairo_ps_surface_dsc_begin_setup()</code></a> and before any drawing is
554 performed to the surface.</p>
555 <p>See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> for more details.</p>
556 <div class="refsect3">
557 <a name="cairo-ps-surface-dsc-begin-page-setup.parameters"></a><h4>Parameters</h4>
558 <div class="informaltable"><table class="informaltable" width="100%" border="0">
559 <colgroup>
560 <col width="150px" class="parameters_name">
561 <col class="parameters_description">
562 <col width="200px" class="parameters_annotations">
563 </colgroup>
564 <tbody><tr>
565 <td class="parameter_name"><p>surface</p></td>
566 <td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
567 <td class="parameter_annotations"> </td>
568 </tr></tbody>
569 </table></div>
570 </div>
571 <p class="since">Since: 1.2</p>
572 </div>
573 <hr>
574 <div class="refsect2">
575 <a name="cairo-ps-surface-dsc-comment"></a><h3>cairo_ps_surface_dsc_comment ()</h3>
576 <pre class="programlisting"><span class="returnvalue">void</span>
577 cairo_ps_surface_dsc_comment (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>,
578 <em class="parameter"><code>const <span class="type">char</span> *comment</code></em>);</pre>
579 <p>Emit a comment into the PostScript output for the given surface.</p>
580 <p>The comment is expected to conform to the PostScript Language
581 Document Structuring Conventions (DSC). Please see that manual for
582 details on the available comments and their meanings. In
583 particular, the %%IncludeFeature comment allows a
584 device-independent means of controlling printer device features. So
585 the PostScript Printer Description Files Specification will also be
586 a useful reference.</p>
587 <p>The comment string must begin with a percent character (%) and the
588 total length of the string (including any initial percent
589 characters) must not exceed 255 characters. Violating either of
590 these conditions will place <em class="parameter"><code>surface</code></em>
591 into an error state. But
592 beyond these two conditions, this function will not enforce
593 conformance of the comment with any particular specification.</p>
594 <p>The comment string should not have a trailing newline.</p>
595 <p>The DSC specifies different sections in which particular comments
596 can appear. This function provides for comments to be emitted
597 within three sections: the header, the Setup section, and the
598 PageSetup section. Comments appearing in the first two sections
599 apply to the entire document while comments in the BeginPageSetup
600 section apply only to a single page.</p>
601 <p>For comments to appear in the header section, this function should
602 be called after the surface is created, but before a call to
603 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()"><code class="function">cairo_ps_surface_dsc_begin_setup()</code></a>.</p>
604 <p>For comments to appear in the Setup section, this function should
605 be called after a call to <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()"><code class="function">cairo_ps_surface_dsc_begin_setup()</code></a> but
606 before a call to <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a>.</p>
607 <p>For comments to appear in the PageSetup section, this function
608 should be called after a call to
609 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a>.</p>
610 <p>Note that it is only necessary to call
611 <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a> for the first page of any
612 surface. After a call to <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>
613 comments are unambiguously directed to the PageSetup section of the
614 current page. But it doesn't hurt to call this function at the
615 beginning of every page as that consistency may make the calling
616 code simpler.</p>
617 <p>As a final note, cairo automatically generates several comments on
618 its own. As such, applications must not manually generate any of
619 the following comments:</p>
620 <p>Header section: %!PS-Adobe-3.0, %%Creator, %%CreationDate, %%Pages,
621 %%BoundingBox, %%DocumentData, %%LanguageLevel, %%EndComments.</p>
622 <p>Setup section: %%BeginSetup, %%EndSetup</p>
623 <p>PageSetup section: %%BeginPageSetup, %%PageBoundingBox, %%EndPageSetup.</p>
624 <p>Other sections: %%BeginProlog, %%EndProlog, %%Page, %%Trailer, %%EOF</p>
625 <p>Here is an example sequence showing how this function might be used:</p>
626 <div class="informalexample">
627 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
628 <tbody>
629 <tr>
630 <td class="listing_lines" align="right"><pre>1
631 2
632 3
633 4
634 5
635 6
636 7
637 8
638 9
639 10
640 11
641 12
642 13
643 14
644 15
645 16
646 17
647 18</pre></td>
648 <td class="listing_code"><pre class="programlisting">cairo_surface_t <span class="gtkdoc opt">*</span>surface <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create">cairo_ps_surface_create</a></span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">);</span>
649 <span class="gtkdoc opt">...</span>
650 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%Title: My excellent document&quot;</span><span class="gtkdoc opt">);</span>
651 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%Copyright: Copyright (C) 2006 Cairo Lover&quot;</span><span class="gtkdoc opt">)</span>
652 <span class="gtkdoc opt">...</span>
653 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup">cairo_ps_surface_dsc_begin_setup</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
654 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%IncludeFeature: *MediaColor White&quot;</span><span class="gtkdoc opt">);</span>
655 <span class="gtkdoc opt">...</span>
656 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup">cairo_ps_surface_dsc_begin_page_setup</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span>
657 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%IncludeFeature: *PageSize A3&quot;</span><span class="gtkdoc opt">);</span>
658 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%IncludeFeature: *InputSlot LargeCapacity&quot;</span><span class="gtkdoc opt">);</span>
659 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%IncludeFeature: *MediaType Glossy&quot;</span><span class="gtkdoc opt">);</span>
660 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%IncludeFeature: *MediaColor Blue&quot;</span><span class="gtkdoc opt">);</span>
661 <span class="gtkdoc opt">...</span> draw to first page here <span class="gtkdoc opt">..</span>
662 <span class="function"><a href="cairo-cairo-t.html#cairo-show-page">cairo_show_page</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span>
663 <span class="gtkdoc opt">...</span>
664 <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">&quot;%%IncludeFeature: *PageSize A5&quot;</span><span class="gtkdoc opt">);</span>
665 <span class="gtkdoc opt">...</span></pre></td>
666 </tr>
667 </tbody>
668 </table>
669 </div>
670
671 <div class="refsect3">
672 <a name="cairo-ps-surface-dsc-comment.parameters"></a><h4>Parameters</h4>
673 <div class="informaltable"><table class="informaltable" width="100%" border="0">
674 <colgroup>
675 <col width="150px" class="parameters_name">
676 <col class="parameters_description">
677 <col width="200px" class="parameters_annotations">
678 </colgroup>
679 <tbody>
680 <tr>
681 <td class="parameter_name"><p>surface</p></td>
682 <td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td>
683 <td class="parameter_annotations"> </td>
684 </tr>
685 <tr>
686 <td class="parameter_name"><p>comment</p></td>
687 <td class="parameter_description"><p>a comment string to be emitted into the PostScript output</p></td>
688 <td class="parameter_annotations"> </td>
689 </tr>
690 </tbody>
691 </table></div>
692 </div>
693 <p class="since">Since: 1.2</p>
694 </div>
695 </div>
696 <div class="refsect1">
697 <a name="cairo-PostScript-Surfaces.other_details"></a><h2>Types and Values</h2>
698 <div class="refsect2">
699 <a name="CAIRO-HAS-PS-SURFACE:CAPS"></a><h3>CAIRO_HAS_PS_SURFACE</h3>
700 <pre class="programlisting">#define CAIRO_HAS_PS_SURFACE 1
701 </pre>
702 <p>Defined if the PostScript surface backend is available.
703 This macro can be used to conditionally compile backend-specific code.</p>
704 <p class="since">Since: 1.2</p>
705 </div>
706 <hr>
707 <div class="refsect2">
708 <a name="cairo-ps-level-t"></a><h3>enum cairo_ps_level_t</h3>
709 <p><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> is used to describe the language level of the
710 PostScript Language Reference that a generated PostScript file will
711 conform to.</p>
712 <div class="refsect3">
713 <a name="cairo-ps-level-t.members"></a><h4>Members</h4>
714 <div class="informaltable"><table class="informaltable" width="100%" border="0">
715 <colgroup>
716 <col width="300px" class="enum_members_name">
717 <col class="enum_members_description">
718 <col width="200px" class="enum_members_annotations">
719 </colgroup>
720 <tbody>
721 <tr>
722 <td class="enum_member_name"><p><a name="CAIRO-PS-LEVEL-2:CAPS"></a>CAIRO_PS_LEVEL_2</p></td>
723 <td class="enum_member_description">
724 <p>The language level 2 of the PostScript specification. (Since 1.6)</p>
725 </td>
726 <td class="enum_member_annotations"> </td>
727 </tr>
728 <tr>
729 <td class="enum_member_name"><p><a name="CAIRO-PS-LEVEL-3:CAPS"></a>CAIRO_PS_LEVEL_3</p></td>
730 <td class="enum_member_description">
731 <p>The language level 3 of the PostScript specification. (Since 1.6)</p>
732 </td>
733 <td class="enum_member_annotations"> </td>
734 </tr>
735 </tbody>
736 </table></div>
737 </div>
738 <p class="since">Since: 1.6</p>
739 </div>
740 </div>
741 <div class="refsect1">
742 <a name="cairo-PostScript-Surfaces.see-also"></a><h2>See Also</h2>
743 <p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p>
744 </div>
745 </div>
746 <div class="footer">
747 <hr>Generated by GTK-Doc V1.27</div>
748 </body>
749 </html>