]> git.ipfire.org Git - thirdparty/cups.git/blob - doc/help/api-raster.html
Update documentation and dependencies for 1.5b1.
[thirdparty/cups.git] / doc / help / api-raster.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3 <!-- SECTION: Programming -->
4 <head>
5 <title>Raster API </title>
6 <meta name="keywords" content="Programming">
7 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
8 <meta name="creator" content="Mini-XML v2.7">
9 <style type="text/css"><!--
10 BODY {
11 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
12 }
13
14 H1, H2, H3, H4, H5, H6, P, TD, TH {
15 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
16 }
17
18 KBD {
19 font-family: monaco, courier, monospace;
20 font-weight: bold;
21 }
22
23 PRE {
24 font-family: monaco, courier, monospace;
25 }
26
27 PRE.command {
28 border: dotted thin #7f7f7f;
29 margin-left: 36pt;
30 padding: 10px;
31 }
32
33 P.compact {
34 margin: 0;
35 }
36
37 P.example {
38 font-style: italic;
39 margin-left: 36pt;
40 }
41
42 PRE.example {
43 background: #eeeeee;
44 border: dotted thin #999999;
45 margin-left: 36pt;
46 padding: 10pt;
47 }
48
49 PRE.command EM, PRE.example EM {
50 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
51 }
52
53 P.command {
54 font-family: monaco, courier, monospace;
55 margin-left: 36pt;
56 }
57
58 P.formula {
59 font-style: italic;
60 margin-left: 36pt;
61 }
62
63 BLOCKQUOTE {
64 background: #eeeeee;
65 border: solid thin #999999;
66 padding: 10pt;
67 }
68
69 A IMG {
70 border: none;
71 }
72
73 A:link:hover IMG {
74 background: #f0f0f0;
75 border-radius: 10px;
76 -moz-border-radius: 10px;
77 }
78
79 A:link, A:visited {
80 font-weight: normal;
81 text-decoration: none;
82 }
83
84 A:link:hover, A:visited:hover, A:active {
85 text-decoration: underline;
86 }
87
88 SUB, SUP {
89 font-size: 50%;
90 }
91
92 TR.data, TD.data, TR.data TD {
93 margin-top: 10pt;
94 padding: 5pt;
95 border-bottom: solid 1pt #999999;
96 }
97
98 TR.data TH {
99 border-bottom: solid 1pt #999999;
100 padding-top: 10pt;
101 padding-left: 5pt;
102 text-align: left;
103 }
104
105 DIV.table TABLE {
106 border: solid thin #999999;
107 border-collapse: collapse;
108 border-spacing: 0;
109 margin-left: auto;
110 margin-right: auto;
111 }
112
113 DIV.table CAPTION {
114 caption-side: top;
115 font-size: 120%;
116 font-style: italic;
117 font-weight: bold;
118 margin-left: auto;
119 margin-right: auto;
120 }
121
122 DIV.table TABLE TD {
123 border: solid thin #cccccc;
124 padding-top: 5pt;
125 }
126
127 DIV.table TABLE TH {
128 background: #cccccc;
129 border: none;
130 border-bottom: solid thin #999999;
131 }
132
133 DIV.figure TABLE {
134 margin-left: auto;
135 margin-right: auto;
136 }
137
138 DIV.figure CAPTION {
139 caption-side: bottom;
140 font-size: 120%;
141 font-style: italic;
142 font-weight: bold;
143 margin-left: auto;
144 margin-right: auto;
145 }
146
147 TH.label {
148 text-align: right;
149 vertical-align: top;
150 }
151
152 TH.sublabel {
153 text-align: right;
154 font-weight: normal;
155 }
156
157 HR {
158 border: solid thin;
159 }
160
161 SPAN.info {
162 background: black;
163 border: thin solid black;
164 color: white;
165 font-size: 80%;
166 font-style: italic;
167 font-weight: bold;
168 white-space: nowrap;
169 }
170
171 H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
172 float: right;
173 font-size: 100%;
174 }
175
176 H1.title {
177 }
178
179 H2.title, H3.title {
180 border-bottom: solid 2pt #000000;
181 }
182
183 DIV.indent, TABLE.indent {
184 margin-top: 2em;
185 margin-left: auto;
186 margin-right: auto;
187 width: 90%;
188 }
189
190 TABLE.indent {
191 border-collapse: collapse;
192 }
193
194 TABLE.indent TD, TABLE.indent TH {
195 padding: 0;
196 }
197
198 TABLE.list {
199 border-collapse: collapse;
200 margin-left: auto;
201 margin-right: auto;
202 width: 90%;
203 }
204
205 TABLE.list TH {
206 background: white;
207 border-bottom: solid thin #cccccc;
208 color: #444444;
209 padding-top: 10pt;
210 padding-left: 5pt;
211 text-align: left;
212 vertical-align: bottom;
213 white-space: nowrap;
214 }
215
216 TABLE.list TH A {
217 color: #4444cc;
218 }
219
220 TABLE.list TD {
221 border-bottom: solid thin #eeeeee;
222 padding-top: 5pt;
223 padding-left: 5pt;
224 }
225
226 TABLE.list TR:nth-child(even) {
227 background: #f8f8f8;
228 }
229
230 TABLE.list TR:nth-child(odd) {
231 background: #f4f4f4;
232 }
233
234 DT {
235 margin-left: 36pt;
236 margin-top: 12pt;
237 }
238
239 DD {
240 margin-left: 54pt;
241 }
242
243 DL.category DT {
244 font-weight: bold;
245 }
246
247 P.summary {
248 margin-left: 36pt;
249 font-family: monaco, courier, monospace;
250 }
251
252 DIV.summary TABLE {
253 border: solid thin #999999;
254 border-collapse: collapse;
255 border-spacing: 0;
256 margin: 10px;
257 }
258
259 DIV.summary TABLE TD, DIV.summary TABLE TH {
260 border: solid thin #999999;
261 padding: 5px;
262 text-align: left;
263 vertical-align: top;
264 }
265
266 DIV.summary TABLE THEAD TH {
267 background: #eeeeee;
268 }
269
270 /* API documentation styles... */
271 div.body h1 {
272 margin: 0;
273 }
274 div.body h2 {
275 margin-top: 1.5em;
276 }
277 div.body h3, div.body h4, div.body h5 {
278 margin-bottom: 0.5em;
279 margin-top: 1.5em;
280 }
281 .class, .enumeration, .function, .struct, .typedef, .union {
282 border-bottom: solid thin #999999;
283 margin-bottom: 0;
284 margin-top: 2em;
285 }
286 .description {
287 margin-top: 0.5em;
288 }
289 code, p.code, pre, ul.code li {
290 font-family: monaco, courier, monospace;
291 font-size: 90%;
292 }
293 ul.code, ul.contents, ul.subcontents {
294 list-style-type: none;
295 margin: 0;
296 padding-left: 0;
297 }
298 ul.code li {
299 margin: 0;
300 }
301 ul.contents > li {
302 margin-top: 1em;
303 }
304 ul.contents li ul.code, ul.contents li ul.subcontents {
305 padding-left: 2em;
306 }
307 div.body dl {
308 margin-left: 0;
309 margin-top: 0;
310 }
311 div.body dt {
312 font-style: italic;
313 margin-left: 0;
314 margin-top: 0;
315 }
316 div.body dd {
317 margin-bottom: 0.5em;
318 }
319
320 /* This is just for the HTML files generated with the framedhelp target */
321 div.contents {
322 background: #e8e8e8;
323 border: solid thin black;
324 padding: 10px;
325 }
326 div.contents h1 {
327 font-size: 110%;
328 }
329 div.contents h2 {
330 font-size: 100%;
331 }
332 div.contents ul.contents {
333 font-size: 80%;
334 }
335 div.contents ul.subcontents li {
336 margin-left: 1em;
337 text-indent: -1em;
338 }
339 --></style>
340 </head>
341 <body>
342 <div class='body'>
343 <!--
344 "$Id$"
345
346 Raster API documentation for CUPS.
347
348 Copyright 2008-2010 by Apple Inc.
349
350 These coded instructions, statements, and computer programs are the
351 property of Apple Inc. and are protected by Federal copyright
352 law. Distribution and use rights are outlined in the file "LICENSE.txt"
353 which should have been included with this file. If this file is
354 file is missing or damaged, see the license at "http://www.cups.org/".
355 -->
356
357 <h1 class='title'>Raster API</h1>
358
359 <div class='summary'><table summary='General Information'>
360 <thead>
361 <tr>
362 <th>Header</th>
363 <th>cups/raster.h</th>
364 </tr>
365 </thead>
366 <tbody>
367 <tr>
368 <th>Library</th>
369 <td>-lcupsimage</td>
370 </tr>
371 <tr>
372 <th>See Also</th>
373 <td>Programming: <a href='api-overview.html'>Introduction to CUPS Programming</a><br>
374 Programming: <a href='api-cups.html'>CUPS API</a><br>
375 Programming: <a href='api-cups.html'>PPD API</a><br>
376 References: <a href='spec-ppd.html'>CUPS PPD Specification</a></td>
377 </tr>
378 </tbody>
379 </table></div>
380 <h2 class="title">Contents</h2>
381 <ul class="contents">
382 <li><a href="#OVERVIEW">Overview</a></li>
383 <li><a href="#TASKS">Functions by Task</a><ul class="subcontents">
384 <li><a href="#OPENCLOSE">Opening and Closing Raster Streams</a></li>
385 <li><a href="#READING">Reading Raster Streams</a></li>
386 <li><a href="#WRITING">Writing Raster Streams</a></li>
387 </ul></li>
388 <li><a href="#FUNCTIONS">Functions</a><ul class="code">
389 <li><a href="#cupsRasterClose" title="Close a raster stream.">cupsRasterClose</a></li>
390 <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
391 <li><a href="#cupsRasterOpen" title="Open a raster stream using a file descriptor.">cupsRasterOpen</a></li>
392 <li><a href="#cupsRasterOpenIO" title="Open a raster stream using a callback function.">cupsRasterOpenIO</a></li>
393 <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a
394 version 1 page header structure.">cupsRasterReadHeader</a></li>
395 <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a
396 version 2 page header structure.">cupsRasterReadHeader2</a></li>
397 <li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
398 <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page
399 header structure.">cupsRasterWriteHeader</a></li>
400 <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2
401 page header structure.">cupsRasterWriteHeader2</a></li>
402 <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
403 </ul></li>
404 <li><a href="#TYPES">Data Types</a><ul class="code">
405 <li><a href="#cups_adv_t" title="AdvanceMedia attribute values">cups_adv_t</a></li>
406 <li><a href="#cups_bool_t" title="Boolean type">cups_bool_t</a></li>
407 <li><a href="#cups_cspace_t" title="cupsColorSpace attribute values">cups_cspace_t</a></li>
408 <li><a href="#cups_cut_t" title="CutMedia attribute values">cups_cut_t</a></li>
409 <li><a href="#cups_edge_t" title="LeadingEdge attribute values">cups_edge_t</a></li>
410 <li><a href="#cups_interpret_cb_t" title="cupsRasterInterpretPPD callback function">cups_interpret_cb_t</a></li>
411 <li><a href="#cups_jog_t" title="Jog attribute values">cups_jog_t</a></li>
412 <li><a href="#cups_mode_t" title="cupsRasterOpen modes">cups_mode_t</a></li>
413 <li><a href="#cups_order_t" title="cupsColorOrder attribute values">cups_order_t</a></li>
414 <li><a href="#cups_orient_t" title="Orientation attribute values">cups_orient_t</a></li>
415 <li><a href="#cups_page_header2_t" title="Version 2 page header ">cups_page_header2_t</a></li>
416 <li><a href="#cups_page_header_t" title="Version 1 page header ">cups_page_header_t</a></li>
417 <li><a href="#cups_raster_iocb_t" title="cupsRasterOpenIO callback function">cups_raster_iocb_t</a></li>
418 <li><a href="#cups_raster_t" title="Raster stream data">cups_raster_t</a></li>
419 </ul></li>
420 <li><a href="#STRUCTURES">Structures</a><ul class="code">
421 <li><a href="#cups_page_header2_s" title="Version 2 page header ">cups_page_header2_s</a></li>
422 <li><a href="#cups_page_header_s" title="Version 1 page header ">cups_page_header_s</a></li>
423 </ul></li>
424 <li><a href="#ENUMERATIONS">Constants</a><ul class="code">
425 <li><a href="#cups_adv_e" title="AdvanceMedia attribute values">cups_adv_e</a></li>
426 <li><a href="#cups_bool_e" title="Boolean type">cups_bool_e</a></li>
427 <li><a href="#cups_cspace_e" title="cupsColorSpace attribute values">cups_cspace_e</a></li>
428 <li><a href="#cups_cut_e" title="CutMedia attribute values">cups_cut_e</a></li>
429 <li><a href="#cups_edge_e" title="LeadingEdge attribute values">cups_edge_e</a></li>
430 <li><a href="#cups_jog_e" title="Jog attribute values">cups_jog_e</a></li>
431 <li><a href="#cups_mode_e" title="cupsRasterOpen modes">cups_mode_e</a></li>
432 <li><a href="#cups_order_e" title="cupsColorOrder attribute values">cups_order_e</a></li>
433 <li><a href="#cups_orient_e" title="Orientation attribute values">cups_orient_e</a></li>
434 </ul></li>
435 </ul>
436 <!--
437 "$Id$"
438
439 Raster API introduction for CUPS.
440
441 Copyright 2007-2011 by Apple Inc.
442 Copyright 1997-2006 by Easy Software Products, all rights reserved.
443
444 These coded instructions, statements, and computer programs are the
445 property of Apple Inc. and are protected by Federal copyright
446 law. Distribution and use rights are outlined in the file "LICENSE.txt"
447 which should have been included with this file. If this file is
448 file is missing or damaged, see the license at "http://www.cups.org/".
449 -->
450
451 <h2 class='title'><a name="OVERVIEW">Overview</a></h2>
452
453 <p>The CUPS raster API provides a standard interface for reading and writing
454 CUPS raster streams which are used for printing to raster printers. Because the
455 raster format is updated from time to time, it is important to use this API to
456 avoid incompatibilities with newer versions of CUPS.</p>
457
458 <p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
459 (RIP) filters such as <code>pstoraster</code> and <code>cgpdftoraster</code>
460 (Mac OS X) that produce CUPS raster files and printer driver filters that
461 convert CUPS raster files into a format usable by the printer. Printer
462 driver filters are by far the most common.</p>
463
464 <p>CUPS raster files (<code>application/vnd.cups-raster</code>) consists of
465 a stream of raster page descriptions produced by one of the RIP filters such as
466 <var>pstoraster</var>, <var>imagetoraster</var>, or
467 <var>cgpdftoraster</var>. CUPS raster files are referred to using the
468 <a href='#cups_raster_t'><code>cups_raster_t</code></a> type and are
469 opened using the <a href='#cupsRasterOpen'><code>cupsRasterOpen</code></a>
470 function. For example, to read raster data from the standard input, open
471 file descriptor 0:</p>
472
473 <pre class="example">
474 #include &lt;cups/raster.h&gt;>
475
476 <a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
477 </pre>
478
479 <p>Each page of data begins with a page dictionary structure called
480 <a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a>. This
481 structure contains the colorspace, bits per color, media size, media type,
482 hardware resolution, and so forth used for the page.</p>
483
484 <blockquote><b>Note:</b>
485
486 <p>Do not confuse the colorspace in the page header with the PPD
487 <tt>ColorModel</tt> keyword. <tt>ColorModel</tt> refers to the general type of
488 color used for a device (Gray, RGB, CMYK, DeviceN) and is often used to
489 select a particular colorspace for the page header along with the associate
490 color profile. The page header colorspace (<tt>cupsColorSpace</tt>) describes
491 both the type and organization of the color data, for example KCMY (black
492 first) instead of CMYK and RGBA (RGB + alpha) instead of RGB.</p>
493
494 </blockquote>
495
496 <p>You read the page header using the
497 <a href="#cupsRasterReadHeader2"><code>cupsRasterReadHeader2</code></a>
498 function:</p>
499
500 <pre class="example">
501 #include &lt;cups/raster.h&gt;>
502
503 <a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
504 <a href="#cups_page_header2_t">cups_page_header2_t</a> header;
505
506 while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &amp;header))
507 {
508 /* setup this page */
509
510 /* read raster data */
511
512 /* finish this page */
513 }
514 </pre>
515
516 <p>After the page dictionary comes the page data which is a full-resolution,
517 possibly compressed bitmap representing the page in the printer's output
518 colorspace. You read uncompressed raster data using the
519 <a href="#cupsRasterReadPixels"><code>cupsRasterReadPixels</code></a>
520 function. A <code>for</code> loop is normally used to read the page one line
521 at a time:</p>
522
523 <pre class="example">
524 #include &lt;cups/raster.h&gt;>
525
526 <a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
527 <a href="#cups_page_header2_t">cups_page_header2_t</a> header;
528 int page = 0;
529 int y;
530 char *buffer;
531
532 while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &amp;header))
533 {
534 /* setup this page */
535 page ++;
536 fprintf(stderr, "PAGE: %d %d\n", page, header.NumCopies);
537
538 /* allocate memory for 1 line */
539 buffer = malloc(header.cupsBytesPerLine);
540
541 /* read raster data */
542 for (y = 0; y &lt; header.cupsHeight; y ++)
543 {
544 if (<a href="#cupsRasterReadPixels">cupsRasterReadPixels</a>(ras, buffer, header.cupsBytesPerLine) == 0)
545 break;
546
547 /* write raster data to printer on stdout */
548 }
549
550 /* finish this page */
551 }
552 </pre>
553
554 <p>When you are done reading the raster data, call the
555 <a href="#cupsRasterClose"><code>cupsRasterClose</code></a> function to free
556 the memory used to read the raster file:</p>
557
558 <pre class="example">
559 <a href="#cups_raster_t">cups_raster_t</a> *ras;
560
561 <a href="#cupsRasterClose">cupsRasterClose</a>(ras);
562 </pre>
563
564
565 <h2 class='title'><a name="TASKS">Functions by Task</a></h2>
566
567 <h3><a name="OPENCLOSE">Opening and Closing Raster Streams</a></h3>
568
569 <ul class="code">
570
571 <li><a href="#cupsRasterClose" title="Close a raster stream.">cupsRasterClose</a></li>
572 <li><a href="#cupsRasterOpen" title="Open a raster stream.">cupsRasterOpen</a></li>
573
574 </ul>
575
576 <h3><a name="READING">Reading Raster Streams</a></h3>
577
578 <ul class="code">
579
580 <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
581 <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2</a></li>
582 <li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
583
584 </ul>
585
586 <h3><a name="WRITING">Writing Raster Streams</a></h3>
587
588 <ul class="code">
589
590 <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
591 <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
592 <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
593 <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
594
595 </ul>
596 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
597 <h3 class="function"><a name="cupsRasterClose">cupsRasterClose</a></h3>
598 <p class="description">Close a raster stream.</p>
599 <p class="code">
600 void cupsRasterClose (<br>
601 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r<br>
602 );</p>
603 <h4 class="parameters">Parameters</h4>
604 <dl>
605 <dt>r</dt>
606 <dd class="description">Stream to close</dd>
607 </dl>
608 <h4 class="discussion">Discussion</h4>
609 <p class="discussion">The file descriptor associated with the raster stream must be closed
610 separately as needed.</p>
611 <h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
612 <p class="description">Interpret PPD commands to create a page header.</p>
613 <p class="code">
614 int cupsRasterInterpretPPD (<br>
615 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
616 &nbsp;&nbsp;&nbsp;&nbsp;ppd_file_t *ppd,<br>
617 &nbsp;&nbsp;&nbsp;&nbsp;int num_options,<br>
618 &nbsp;&nbsp;&nbsp;&nbsp;cups_option_t *options,<br>
619 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_interpret_cb_t">cups_interpret_cb_t</a> func<br>
620 );</p>
621 <h4 class="parameters">Parameters</h4>
622 <dl>
623 <dt>h</dt>
624 <dd class="description">Page header to create</dd>
625 <dt>ppd</dt>
626 <dd class="description">PPD file</dd>
627 <dt>num_options</dt>
628 <dd class="description">Number of options</dd>
629 <dt>options</dt>
630 <dd class="description">Options</dd>
631 <dt>func</dt>
632 <dd class="description">Optional page header callback (<code>NULL</code> for none)</dd>
633 </dl>
634 <h4 class="returnvalue">Return Value</h4>
635 <p class="description">0 on success, -1 on failure</p>
636 <h4 class="discussion">Discussion</h4>
637 <p class="discussion">This function is used by raster image processing (RIP) filters like
638 cgpdftoraster and imagetoraster when writing CUPS raster data for a page.
639 It is not used by raster printer driver filters which only read CUPS
640 raster data.<br>
641 <br>
642
643 <code>cupsRasterInterpretPPD</code> does not mark the options in the PPD using
644 the &quot;num_options&quot; and &quot;options&quot; arguments. Instead, mark the options with
645 <code>cupsMarkOptions</code> and <code>ppdMarkOption</code> prior to calling it -
646 this allows for per-page options without manipulating the options array.<br>
647 <br>
648 The &quot;func&quot; argument specifies an optional callback function that is
649 called prior to the computation of the final raster data. The function
650 can make changes to the <a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a> data as needed to use a
651 supported raster format and then returns 0 on success and -1 if the
652 requested attributes cannot be supported.<br>
653 <br>
654
655 <code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
656 Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
657 <code>}</code>, <code>cleartomark</code>, <code>copy</code>, <code>dup</code>, <code>index</code>,
658 <code>pop</code>, <code>roll</code>, <code>setpagedevice</code>, and <code>stopped</code> operators
659 are supported.
660
661 </p>
662 <h3 class="function"><a name="cupsRasterOpen">cupsRasterOpen</a></h3>
663 <p class="description">Open a raster stream using a file descriptor.</p>
664 <p class="code">
665 <a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen (<br>
666 &nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
667 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
668 );</p>
669 <h4 class="parameters">Parameters</h4>
670 <dl>
671 <dt>fd</dt>
672 <dd class="description">File descriptor</dd>
673 <dt>mode</dt>
674 <dd class="description">Mode - <code>CUPS_RASTER_READ</code>,
675 <code>CUPS_RASTER_WRITE</code>,
676 <code>CUPS_RASTER_WRITE_COMPRESSED</code>,
677 or <code>CUPS_RASTER_WRITE_PWG</code></dd>
678 </dl>
679 <h4 class="returnvalue">Return Value</h4>
680 <p class="description">New stream</p>
681 <h4 class="discussion">Discussion</h4>
682 <p class="discussion">This function associates a raster stream with the given file descriptor.
683 For most printer driver filters, &quot;fd&quot; will be 0 (stdin). For most raster
684 image processor (RIP) filters that generate raster data, &quot;fd&quot; will be 1
685 (stdout).<br>
686 <br>
687 When writing raster data, the <code>CUPS_RASTER_WRITE</code>,
688 <code>CUPS_RASTER_WRITE_COMPRESS</code>, or <code>CUPS_RASTER_WRITE_PWG</code> mode can
689 be used - compressed and PWG output is generally 25-50% smaller but adds a
690 100-300% execution time overhead.</p>
691 <h3 class="function"><a name="cupsRasterOpenIO">cupsRasterOpenIO</a></h3>
692 <p class="description">Open a raster stream using a callback function.</p>
693 <p class="code">
694 <a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpenIO (<br>
695 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_iocb_t">cups_raster_iocb_t</a> iocb,<br>
696 &nbsp;&nbsp;&nbsp;&nbsp;void *ctx,<br>
697 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
698 );</p>
699 <h4 class="parameters">Parameters</h4>
700 <dl>
701 <dt>iocb</dt>
702 <dd class="description">Read/write callback</dd>
703 <dt>ctx</dt>
704 <dd class="description">Context pointer for callback</dd>
705 <dt>mode</dt>
706 <dd class="description">Mode - <code>CUPS_RASTER_READ</code>,
707 <code>CUPS_RASTER_WRITE</code>,
708 <code>CUPS_RASTER_WRITE_COMPRESSED</code>,
709 or <code>CUPS_RASTER_WRITE_PWG</code></dd>
710 </dl>
711 <h4 class="returnvalue">Return Value</h4>
712 <p class="description">New stream</p>
713 <h4 class="discussion">Discussion</h4>
714 <p class="discussion">This function associates a raster stream with the given callback function and
715 context pointer.<br>
716 <br>
717 When writing raster data, the <code>CUPS_RASTER_WRITE</code>,
718 <code>CUPS_RASTER_WRITE_COMPRESS</code>, or <code>CUPS_RASTER_WRITE_PWG</code> mode can
719 be used - compressed and PWG output is generally 25-50% smaller but adds a
720 100-300% execution time overhead.</p>
721 <h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsRasterReadHeader">cupsRasterReadHeader</a></h3>
722 <p class="description">Read a raster page header and store it in a
723 version 1 page header structure.</p>
724 <p class="code">
725 unsigned cupsRasterReadHeader (<br>
726 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
727 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
728 );</p>
729 <h4 class="parameters">Parameters</h4>
730 <dl>
731 <dt>r</dt>
732 <dd class="description">Raster stream</dd>
733 <dt>h</dt>
734 <dd class="description">Pointer to header data</dd>
735 </dl>
736 <h4 class="returnvalue">Return Value</h4>
737 <p class="description">1 on success, 0 on failure/end-of-file</p>
738 <h4 class="discussion">Discussion</h4>
739 <p class="discussion">This function is deprecated. Use <a href="#cupsRasterReadHeader2"><code>cupsRasterReadHeader2</code></a> instead.<br>
740 <br>
741 Version 1 page headers were used in CUPS 1.0 and 1.1 and contain a subset
742 of the version 2 page header data. This function handles reading version 2
743 page headers and copying only the version 1 data into the provided buffer.
744
745 </p>
746 <h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
747 <p class="description">Read a raster page header and store it in a
748 version 2 page header structure.</p>
749 <p class="code">
750 unsigned cupsRasterReadHeader2 (<br>
751 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
752 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
753 );</p>
754 <h4 class="parameters">Parameters</h4>
755 <dl>
756 <dt>r</dt>
757 <dd class="description">Raster stream</dd>
758 <dt>h</dt>
759 <dd class="description">Pointer to header data</dd>
760 </dl>
761 <h4 class="returnvalue">Return Value</h4>
762 <p class="description">1 on success, 0 on failure/end-of-file</p>
763 <h3 class="function"><a name="cupsRasterReadPixels">cupsRasterReadPixels</a></h3>
764 <p class="description">Read raster pixels.</p>
765 <p class="code">
766 unsigned cupsRasterReadPixels (<br>
767 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
768 &nbsp;&nbsp;&nbsp;&nbsp;unsigned char *p,<br>
769 &nbsp;&nbsp;&nbsp;&nbsp;unsigned len<br>
770 );</p>
771 <h4 class="parameters">Parameters</h4>
772 <dl>
773 <dt>r</dt>
774 <dd class="description">Raster stream</dd>
775 <dt>p</dt>
776 <dd class="description">Pointer to pixel buffer</dd>
777 <dt>len</dt>
778 <dd class="description">Number of bytes to read</dd>
779 </dl>
780 <h4 class="returnvalue">Return Value</h4>
781 <p class="description">Number of bytes read</p>
782 <h4 class="discussion">Discussion</h4>
783 <p class="discussion">For best performance, filters should read one or more whole lines.
784 The &quot;cupsBytesPerLine&quot; value from the page header can be used to allocate
785 the line buffer and as the number of bytes to read.</p>
786 <h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsRasterWriteHeader">cupsRasterWriteHeader</a></h3>
787 <p class="description">Write a raster page header from a version 1 page
788 header structure.</p>
789 <p class="code">
790 unsigned cupsRasterWriteHeader (<br>
791 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
792 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
793 );</p>
794 <h4 class="parameters">Parameters</h4>
795 <dl>
796 <dt>r</dt>
797 <dd class="description">Raster stream</dd>
798 <dt>h</dt>
799 <dd class="description">Raster page header</dd>
800 </dl>
801 <h4 class="returnvalue">Return Value</h4>
802 <p class="description">1 on success, 0 on failure</p>
803 <h4 class="discussion">Discussion</h4>
804 <p class="discussion">This function is deprecated. Use <a href="#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2</code></a> instead.
805
806 </p>
807 <h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
808 <p class="description">Write a raster page header from a version 2
809 page header structure.</p>
810 <p class="code">
811 unsigned cupsRasterWriteHeader2 (<br>
812 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
813 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
814 );</p>
815 <h4 class="parameters">Parameters</h4>
816 <dl>
817 <dt>r</dt>
818 <dd class="description">Raster stream</dd>
819 <dt>h</dt>
820 <dd class="description">Raster page header</dd>
821 </dl>
822 <h4 class="returnvalue">Return Value</h4>
823 <p class="description">1 on success, 0 on failure</p>
824 <h4 class="discussion">Discussion</h4>
825 <p class="discussion">The page header can be initialized using <a href="#cupsRasterInterpretPPD"><code>cupsRasterInterpretPPD</code></a>.
826
827 </p>
828 <h3 class="function"><a name="cupsRasterWritePixels">cupsRasterWritePixels</a></h3>
829 <p class="description">Write raster pixels.</p>
830 <p class="code">
831 unsigned cupsRasterWritePixels (<br>
832 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
833 &nbsp;&nbsp;&nbsp;&nbsp;unsigned char *p,<br>
834 &nbsp;&nbsp;&nbsp;&nbsp;unsigned len<br>
835 );</p>
836 <h4 class="parameters">Parameters</h4>
837 <dl>
838 <dt>r</dt>
839 <dd class="description">Raster stream</dd>
840 <dt>p</dt>
841 <dd class="description">Bytes to write</dd>
842 <dt>len</dt>
843 <dd class="description">Number of bytes to write</dd>
844 </dl>
845 <h4 class="returnvalue">Return Value</h4>
846 <p class="description">Number of bytes written</p>
847 <h4 class="discussion">Discussion</h4>
848 <p class="discussion">For best performance, filters should write one or more whole lines.
849 The &quot;cupsBytesPerLine&quot; value from the page header can be used to allocate
850 the line buffer and as the number of bytes to write.</p>
851 <h2 class="title"><a name="TYPES">Data Types</a></h2>
852 <h3 class="typedef"><a name="cups_adv_t">cups_adv_t</a></h3>
853 <p class="description">AdvanceMedia attribute values</p>
854 <p class="code">
855 typedef enum <a href="#cups_adv_e">cups_adv_e</a> cups_adv_t;
856 </p>
857 <h3 class="typedef"><a name="cups_bool_t">cups_bool_t</a></h3>
858 <p class="description">Boolean type</p>
859 <p class="code">
860 typedef enum <a href="#cups_bool_e">cups_bool_e</a> cups_bool_t;
861 </p>
862 <h3 class="typedef"><a name="cups_cspace_t">cups_cspace_t</a></h3>
863 <p class="description">cupsColorSpace attribute values</p>
864 <p class="code">
865 typedef enum <a href="#cups_cspace_e">cups_cspace_e</a> cups_cspace_t;
866 </p>
867 <h3 class="typedef"><a name="cups_cut_t">cups_cut_t</a></h3>
868 <p class="description">CutMedia attribute values</p>
869 <p class="code">
870 typedef enum <a href="#cups_cut_e">cups_cut_e</a> cups_cut_t;
871 </p>
872 <h3 class="typedef"><a name="cups_edge_t">cups_edge_t</a></h3>
873 <p class="description">LeadingEdge attribute values</p>
874 <p class="code">
875 typedef enum <a href="#cups_edge_e">cups_edge_e</a> cups_edge_t;
876 </p>
877 <h3 class="typedef"><a name="cups_interpret_cb_t">cups_interpret_cb_t</a></h3>
878 <p class="description">cupsRasterInterpretPPD callback function</p>
879 <p class="code">
880 typedef int (*cups_interpret_cb_t)(<a href="#cups_page_header2_t">cups_page_header2_t</a> *header, int preferred_bits);
881 </p>
882 <h3 class="typedef"><a name="cups_jog_t">cups_jog_t</a></h3>
883 <p class="description">Jog attribute values</p>
884 <p class="code">
885 typedef enum <a href="#cups_jog_e">cups_jog_e</a> cups_jog_t;
886 </p>
887 <h3 class="typedef"><a name="cups_mode_t">cups_mode_t</a></h3>
888 <p class="description">cupsRasterOpen modes</p>
889 <p class="code">
890 typedef enum <a href="#cups_mode_e">cups_mode_e</a> cups_mode_t;
891 </p>
892 <h3 class="typedef"><a name="cups_order_t">cups_order_t</a></h3>
893 <p class="description">cupsColorOrder attribute values</p>
894 <p class="code">
895 typedef enum <a href="#cups_order_e">cups_order_e</a> cups_order_t;
896 </p>
897 <h3 class="typedef"><a name="cups_orient_t">cups_orient_t</a></h3>
898 <p class="description">Orientation attribute values</p>
899 <p class="code">
900 typedef enum <a href="#cups_orient_e">cups_orient_e</a> cups_orient_t;
901 </p>
902 <h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
903 <p class="description">Version 2 page header </p>
904 <p class="code">
905 typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
906 </p>
907 <h3 class="typedef"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cups_page_header_t">cups_page_header_t</a></h3>
908 <p class="description">Version 1 page header </p>
909 <p class="code">
910 typedef struct <a href="#cups_page_header_s">cups_page_header_s</a> cups_page_header_t;
911 </p>
912 <h3 class="typedef"><a name="cups_raster_iocb_t">cups_raster_iocb_t</a></h3>
913 <p class="description">cupsRasterOpenIO callback function</p>
914 <p class="code">
915 typedef ssize_t (*cups_raster_iocb_t)(void *ctx, unsigned char *buffer, size_t length);
916 </p>
917 <h3 class="typedef"><a name="cups_raster_t">cups_raster_t</a></h3>
918 <p class="description">Raster stream data</p>
919 <p class="code">
920 typedef struct _cups_raster_s cups_raster_t;
921 </p>
922 <h2 class="title"><a name="STRUCTURES">Structures</a></h2>
923 <h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
924 <p class="description">Version 2 page header </p>
925 <p class="code">struct cups_page_header2_s {<br>
926 &nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
927 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br>
928 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Collate;<br>
929 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br>
930 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Duplex;<br>
931 &nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
932 &nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
933 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br>
934 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_jog_t">cups_jog_t</a> Jog;<br>
935 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br>
936 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br>
937 &nbsp;&nbsp;&nbsp;&nbsp;unsigned Margins[2];<br>
938 &nbsp;&nbsp;&nbsp;&nbsp;char MediaClass[64];<br>
939 &nbsp;&nbsp;&nbsp;&nbsp;char MediaColor[64];<br>
940 &nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaPosition;<br>
941 &nbsp;&nbsp;&nbsp;&nbsp;char MediaType[64];<br>
942 &nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaWeight;<br>
943 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br>
944 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br>
945 &nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
946 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_orient_t">cups_orient_t</a> Orientation;<br>
947 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br>
948 &nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
949 &nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
950 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Separations;<br>
951 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br>
952 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Tumble;<br>
953 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
954 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
955 &nbsp;&nbsp;&nbsp;&nbsp;float cupsBorderlessScalingFactor;<br>
956 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
957 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br>
958 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br>
959 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsCompression;<br>
960 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsHeight;<br>
961 &nbsp;&nbsp;&nbsp;&nbsp;float cupsImagingBBox[4];<br>
962 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsInteger[16];<br>
963 &nbsp;&nbsp;&nbsp;&nbsp;char cupsMarkerType[64];<br>
964 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsMediaType;<br>
965 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsNumColors;<br>
966 &nbsp;&nbsp;&nbsp;&nbsp;char cupsPageSizeName[64];<br>
967 &nbsp;&nbsp;&nbsp;&nbsp;float cupsPageSize[2];<br>
968 &nbsp;&nbsp;&nbsp;&nbsp;float cupsReal[16];<br>
969 &nbsp;&nbsp;&nbsp;&nbsp;char cupsRenderingIntent[64];<br>
970 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowCount;<br>
971 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowFeed;<br>
972 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowStep;<br>
973 &nbsp;&nbsp;&nbsp;&nbsp;char cupsString[16][64];<br>
974 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsWidth;<br>
975 };</p>
976 <h4 class="members">Members</h4>
977 <dl>
978 <dt>AdvanceDistance </dt>
979 <dd class="description">AdvanceDistance value in points</dd>
980 <dt>AdvanceMedia </dt>
981 <dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
982 <dt>Collate </dt>
983 <dd class="description">Collated copies value</dd>
984 <dt>CutMedia </dt>
985 <dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
986 <dt>Duplex </dt>
987 <dd class="description">Duplexed (double-sided) value</dd>
988 <dt>HWResolution[2] </dt>
989 <dd class="description">Resolution in dots-per-inch</dd>
990 <dt>ImagingBoundingBox[4] </dt>
991 <dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
992 <dt>InsertSheet </dt>
993 <dd class="description">InsertSheet value</dd>
994 <dt>Jog </dt>
995 <dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
996 <dt>LeadingEdge </dt>
997 <dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
998 <dt>ManualFeed </dt>
999 <dd class="description">ManualFeed value</dd>
1000 <dt>Margins[2] </dt>
1001 <dd class="description">Lower-lefthand margins in points</dd>
1002 <dt>MediaClass[64] </dt>
1003 <dd class="description">MediaClass string</dd>
1004 <dt>MediaColor[64] </dt>
1005 <dd class="description">MediaColor string</dd>
1006 <dt>MediaPosition </dt>
1007 <dd class="description">MediaPosition value</dd>
1008 <dt>MediaType[64] </dt>
1009 <dd class="description">MediaType string</dd>
1010 <dt>MediaWeight </dt>
1011 <dd class="description">MediaWeight value in grams/m^2</dd>
1012 <dt>MirrorPrint </dt>
1013 <dd class="description">MirrorPrint value</dd>
1014 <dt>NegativePrint </dt>
1015 <dd class="description">NegativePrint value</dd>
1016 <dt>NumCopies </dt>
1017 <dd class="description">Number of copies to produce</dd>
1018 <dt>Orientation </dt>
1019 <dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
1020 <dt>OutputFaceUp </dt>
1021 <dd class="description">OutputFaceUp value</dd>
1022 <dt>OutputType[64] </dt>
1023 <dd class="description">OutputType string</dd>
1024 <dt>PageSize[2] </dt>
1025 <dd class="description">Width and length of page in points</dd>
1026 <dt>Separations </dt>
1027 <dd class="description">Separations value</dd>
1028 <dt>TraySwitch </dt>
1029 <dd class="description">TraySwitch value</dd>
1030 <dt>Tumble </dt>
1031 <dd class="description">Tumble value</dd>
1032 <dt>cupsBitsPerColor </dt>
1033 <dd class="description">Number of bits for each color</dd>
1034 <dt>cupsBitsPerPixel </dt>
1035 <dd class="description">Number of bits for each pixel</dd>
1036 <dt>cupsBorderlessScalingFactor <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1037 <dd class="description">Scaling that was applied to page data </dd>
1038 <dt>cupsBytesPerLine </dt>
1039 <dd class="description">Number of bytes per line</dd>
1040 <dt>cupsColorOrder </dt>
1041 <dd class="description">Order of colors</dd>
1042 <dt>cupsColorSpace </dt>
1043 <dd class="description">True colorspace</dd>
1044 <dt>cupsCompression </dt>
1045 <dd class="description">Device compression to use</dd>
1046 <dt>cupsHeight </dt>
1047 <dd class="description">Height of page image in pixels</dd>
1048 <dt>cupsImagingBBox[4] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1049 <dd class="description">Floating point ImagingBoundingBox
1050 (scaling factor not applied, left,
1051 bottom, right, top) </dd>
1052 <dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1053 <dd class="description">User-defined integer values </dd>
1054 <dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1055 <dd class="description">Ink/toner type </dd>
1056 <dt>cupsMediaType </dt>
1057 <dd class="description">Media type code</dd>
1058 <dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1059 <dd class="description">Number of color compoents </dd>
1060 <dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1061 <dd class="description">PageSize name </dd>
1062 <dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1063 <dd class="description">Floating point PageSize (scaling *
1064 factor not applied) </dd>
1065 <dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1066 <dd class="description">User-defined floating-point values </dd>
1067 <dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1068 <dd class="description">Color rendering intent </dd>
1069 <dt>cupsRowCount </dt>
1070 <dd class="description">Rows per band</dd>
1071 <dt>cupsRowFeed </dt>
1072 <dd class="description">Feed between bands</dd>
1073 <dt>cupsRowStep </dt>
1074 <dd class="description">Spacing between lines</dd>
1075 <dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1076 <dd class="description">User-defined string values </dd>
1077 <dt>cupsWidth </dt>
1078 <dd class="description">Width of page image in pixels</dd>
1079 </dl>
1080 <h3 class="struct"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cups_page_header_s">cups_page_header_s</a></h3>
1081 <p class="description">Version 1 page header </p>
1082 <p class="code">struct cups_page_header_s {<br>
1083 &nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
1084 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br>
1085 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Collate;<br>
1086 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br>
1087 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Duplex;<br>
1088 &nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
1089 &nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
1090 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br>
1091 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_jog_t">cups_jog_t</a> Jog;<br>
1092 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br>
1093 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br>
1094 &nbsp;&nbsp;&nbsp;&nbsp;unsigned Margins[2];<br>
1095 &nbsp;&nbsp;&nbsp;&nbsp;char MediaClass[64];<br>
1096 &nbsp;&nbsp;&nbsp;&nbsp;char MediaColor[64];<br>
1097 &nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaPosition;<br>
1098 &nbsp;&nbsp;&nbsp;&nbsp;char MediaType[64];<br>
1099 &nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaWeight;<br>
1100 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br>
1101 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br>
1102 &nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
1103 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_orient_t">cups_orient_t</a> Orientation;<br>
1104 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br>
1105 &nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
1106 &nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
1107 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Separations;<br>
1108 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br>
1109 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_bool_t">cups_bool_t</a> Tumble;<br>
1110 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
1111 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
1112 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
1113 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br>
1114 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br>
1115 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsCompression;<br>
1116 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsHeight;<br>
1117 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsMediaType;<br>
1118 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowCount;<br>
1119 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowFeed;<br>
1120 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowStep;<br>
1121 &nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsWidth;<br>
1122 };</p>
1123 <h4 class="members">Members</h4>
1124 <dl>
1125 <dt>AdvanceDistance </dt>
1126 <dd class="description">AdvanceDistance value in points</dd>
1127 <dt>AdvanceMedia </dt>
1128 <dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
1129 <dt>Collate </dt>
1130 <dd class="description">Collated copies value</dd>
1131 <dt>CutMedia </dt>
1132 <dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
1133 <dt>Duplex </dt>
1134 <dd class="description">Duplexed (double-sided) value</dd>
1135 <dt>HWResolution[2] </dt>
1136 <dd class="description">Resolution in dots-per-inch</dd>
1137 <dt>ImagingBoundingBox[4] </dt>
1138 <dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
1139 <dt>InsertSheet </dt>
1140 <dd class="description">InsertSheet value</dd>
1141 <dt>Jog </dt>
1142 <dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
1143 <dt>LeadingEdge </dt>
1144 <dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
1145 <dt>ManualFeed </dt>
1146 <dd class="description">ManualFeed value</dd>
1147 <dt>Margins[2] </dt>
1148 <dd class="description">Lower-lefthand margins in points</dd>
1149 <dt>MediaClass[64] </dt>
1150 <dd class="description">MediaClass string</dd>
1151 <dt>MediaColor[64] </dt>
1152 <dd class="description">MediaColor string</dd>
1153 <dt>MediaPosition </dt>
1154 <dd class="description">MediaPosition value</dd>
1155 <dt>MediaType[64] </dt>
1156 <dd class="description">MediaType string</dd>
1157 <dt>MediaWeight </dt>
1158 <dd class="description">MediaWeight value in grams/m^2</dd>
1159 <dt>MirrorPrint </dt>
1160 <dd class="description">MirrorPrint value</dd>
1161 <dt>NegativePrint </dt>
1162 <dd class="description">NegativePrint value</dd>
1163 <dt>NumCopies </dt>
1164 <dd class="description">Number of copies to produce</dd>
1165 <dt>Orientation </dt>
1166 <dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
1167 <dt>OutputFaceUp </dt>
1168 <dd class="description">OutputFaceUp value</dd>
1169 <dt>OutputType[64] </dt>
1170 <dd class="description">OutputType string</dd>
1171 <dt>PageSize[2] </dt>
1172 <dd class="description">Width and length of page in points</dd>
1173 <dt>Separations </dt>
1174 <dd class="description">Separations value</dd>
1175 <dt>TraySwitch </dt>
1176 <dd class="description">TraySwitch value</dd>
1177 <dt>Tumble </dt>
1178 <dd class="description">Tumble value</dd>
1179 <dt>cupsBitsPerColor </dt>
1180 <dd class="description">Number of bits for each color</dd>
1181 <dt>cupsBitsPerPixel </dt>
1182 <dd class="description">Number of bits for each pixel</dd>
1183 <dt>cupsBytesPerLine </dt>
1184 <dd class="description">Number of bytes per line</dd>
1185 <dt>cupsColorOrder </dt>
1186 <dd class="description">Order of colors</dd>
1187 <dt>cupsColorSpace </dt>
1188 <dd class="description">True colorspace</dd>
1189 <dt>cupsCompression </dt>
1190 <dd class="description">Device compression to use</dd>
1191 <dt>cupsHeight </dt>
1192 <dd class="description">Height of page image in pixels</dd>
1193 <dt>cupsMediaType </dt>
1194 <dd class="description">Media type code</dd>
1195 <dt>cupsRowCount </dt>
1196 <dd class="description">Rows per band</dd>
1197 <dt>cupsRowFeed </dt>
1198 <dd class="description">Feed between bands</dd>
1199 <dt>cupsRowStep </dt>
1200 <dd class="description">Spacing between lines</dd>
1201 <dt>cupsWidth </dt>
1202 <dd class="description">Width of page image in pixels</dd>
1203 </dl>
1204 <h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
1205 <h3 class="enumeration"><a name="cups_adv_e">cups_adv_e</a></h3>
1206 <p class="description">AdvanceMedia attribute values</p>
1207 <h4 class="constants">Constants</h4>
1208 <dl>
1209 <dt>CUPS_ADVANCE_FILE </dt>
1210 <dd class="description">Advance the roll after this file</dd>
1211 <dt>CUPS_ADVANCE_JOB </dt>
1212 <dd class="description">Advance the roll after this job</dd>
1213 <dt>CUPS_ADVANCE_NONE </dt>
1214 <dd class="description">Never advance the roll</dd>
1215 <dt>CUPS_ADVANCE_PAGE </dt>
1216 <dd class="description">Advance the roll after this page</dd>
1217 <dt>CUPS_ADVANCE_SET </dt>
1218 <dd class="description">Advance the roll after this set</dd>
1219 </dl>
1220 <h3 class="enumeration"><a name="cups_bool_e">cups_bool_e</a></h3>
1221 <p class="description">Boolean type</p>
1222 <h4 class="constants">Constants</h4>
1223 <dl>
1224 <dt>CUPS_FALSE </dt>
1225 <dd class="description">Logical false</dd>
1226 <dt>CUPS_TRUE </dt>
1227 <dd class="description">Logical true</dd>
1228 </dl>
1229 <h3 class="enumeration"><a name="cups_cspace_e">cups_cspace_e</a></h3>
1230 <p class="description">cupsColorSpace attribute values</p>
1231 <h4 class="constants">Constants</h4>
1232 <dl>
1233 <dt>CUPS_CSPACE_ADOBERGB <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1234 <dd class="description">Red, green, blue (Adobe RGB) </dd>
1235 <dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1236 <dd class="description">CIE Lab </dd>
1237 <dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1238 <dd class="description">CIE XYZ </dd>
1239 <dt>CUPS_CSPACE_CMY </dt>
1240 <dd class="description">Cyan, magenta, yellow (DeviceCMY)</dd>
1241 <dt>CUPS_CSPACE_CMYK </dt>
1242 <dd class="description">Cyan, magenta, yellow, black (DeviceCMYK)</dd>
1243 <dt>CUPS_CSPACE_DEVICE1 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1244 <dd class="description">DeviceN, 1 color </dd>
1245 <dt>CUPS_CSPACE_DEVICE2 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1246 <dd class="description">DeviceN, 2 colors </dd>
1247 <dt>CUPS_CSPACE_DEVICE3 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1248 <dd class="description">DeviceN, 3 colors </dd>
1249 <dt>CUPS_CSPACE_DEVICE4 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1250 <dd class="description">DeviceN, 4 colors </dd>
1251 <dt>CUPS_CSPACE_DEVICE5 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1252 <dd class="description">DeviceN, 5 colors </dd>
1253 <dt>CUPS_CSPACE_DEVICE6 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1254 <dd class="description">DeviceN, 6 colors </dd>
1255 <dt>CUPS_CSPACE_DEVICE7 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1256 <dd class="description">DeviceN, 7 colors </dd>
1257 <dt>CUPS_CSPACE_DEVICE8 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1258 <dd class="description">DeviceN, 8 colors </dd>
1259 <dt>CUPS_CSPACE_DEVICE9 <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1260 <dd class="description">DeviceN, 9 colors </dd>
1261 <dt>CUPS_CSPACE_DEVICEA <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1262 <dd class="description">DeviceN, 10 colors </dd>
1263 <dt>CUPS_CSPACE_DEVICEB <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1264 <dd class="description">DeviceN, 11 colors </dd>
1265 <dt>CUPS_CSPACE_DEVICEC <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1266 <dd class="description">DeviceN, 12 colors </dd>
1267 <dt>CUPS_CSPACE_DEVICED <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1268 <dd class="description">DeviceN, 13 colors </dd>
1269 <dt>CUPS_CSPACE_DEVICEE <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1270 <dd class="description">DeviceN, 14 colors </dd>
1271 <dt>CUPS_CSPACE_DEVICEF <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1272 <dd class="description">DeviceN, 15 colors </dd>
1273 <dt>CUPS_CSPACE_GMCK <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1274 <dd class="description">Gold, magenta, yellow, black </dd>
1275 <dt>CUPS_CSPACE_GMCS <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1276 <dd class="description">Gold, magenta, yellow, silver </dd>
1277 <dt>CUPS_CSPACE_GOLD <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1278 <dd class="description">Gold foil </dd>
1279 <dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1280 <dd class="description">ICC-based, 1 color </dd>
1281 <dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1282 <dd class="description">ICC-based, 2 colors </dd>
1283 <dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1284 <dd class="description">ICC-based, 3 colors </dd>
1285 <dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1286 <dd class="description">ICC-based, 4 colors </dd>
1287 <dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1288 <dd class="description">ICC-based, 5 colors </dd>
1289 <dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1290 <dd class="description">ICC-based, 6 colors </dd>
1291 <dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1292 <dd class="description">ICC-based, 7 colors </dd>
1293 <dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1294 <dd class="description">ICC-based, 8 colors </dd>
1295 <dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1296 <dd class="description">ICC-based, 9 colors </dd>
1297 <dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1298 <dd class="description">ICC-based, 10 colors </dd>
1299 <dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1300 <dd class="description">ICC-based, 11 colors </dd>
1301 <dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1302 <dd class="description">ICC-based, 12 colors </dd>
1303 <dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1304 <dd class="description">ICC-based, 13 colors </dd>
1305 <dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1306 <dd class="description">ICC-based, 14 colors </dd>
1307 <dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
1308 <dd class="description">ICC-based, 15 colors </dd>
1309 <dt>CUPS_CSPACE_K </dt>
1310 <dd class="description">Black (DeviceK)</dd>
1311 <dt>CUPS_CSPACE_KCMY <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1312 <dd class="description">Black, cyan, magenta, yellow </dd>
1313 <dt>CUPS_CSPACE_KCMYcm <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1314 <dd class="description">Black, cyan, magenta, yellow, light-cyan, light-magenta </dd>
1315 <dt>CUPS_CSPACE_RGB </dt>
1316 <dd class="description">Red, green, blue (DeviceRGB, sRGB by default)</dd>
1317 <dt>CUPS_CSPACE_RGBA </dt>
1318 <dd class="description">Red, green, blue, alpha (DeviceRGB, sRGB by default)</dd>
1319 <dt>CUPS_CSPACE_RGBW <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1320 <dd class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </dd>
1321 <dt>CUPS_CSPACE_SILVER <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1322 <dd class="description">Silver foil </dd>
1323 <dt>CUPS_CSPACE_SRGB <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1324 <dd class="description">Red, green, blue (sRGB) </dd>
1325 <dt>CUPS_CSPACE_SW <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
1326 <dd class="description">Luminance (gamma 2.2) </dd>
1327 <dt>CUPS_CSPACE_W </dt>
1328 <dd class="description">Luminance (DeviceGray, gamma 2.2 by default)</dd>
1329 <dt>CUPS_CSPACE_WHITE <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1330 <dd class="description">White ink (as black) </dd>
1331 <dt>CUPS_CSPACE_YMC <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1332 <dd class="description">Yellow, magenta, cyan </dd>
1333 <dt>CUPS_CSPACE_YMCK <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
1334 <dd class="description">Yellow, magenta, cyan, black </dd>
1335 </dl>
1336 <h3 class="enumeration"><a name="cups_cut_e">cups_cut_e</a></h3>
1337 <p class="description">CutMedia attribute values</p>
1338 <h4 class="constants">Constants</h4>
1339 <dl>
1340 <dt>CUPS_CUT_FILE </dt>
1341 <dd class="description">Cut the roll after this file</dd>
1342 <dt>CUPS_CUT_JOB </dt>
1343 <dd class="description">Cut the roll after this job</dd>
1344 <dt>CUPS_CUT_NONE </dt>
1345 <dd class="description">Never cut the roll</dd>
1346 <dt>CUPS_CUT_PAGE </dt>
1347 <dd class="description">Cut the roll after this page</dd>
1348 <dt>CUPS_CUT_SET </dt>
1349 <dd class="description">Cut the roll after this set</dd>
1350 </dl>
1351 <h3 class="enumeration"><a name="cups_edge_e">cups_edge_e</a></h3>
1352 <p class="description">LeadingEdge attribute values</p>
1353 <h4 class="constants">Constants</h4>
1354 <dl>
1355 <dt>CUPS_EDGE_BOTTOM </dt>
1356 <dd class="description">Leading edge is the bottom of the page</dd>
1357 <dt>CUPS_EDGE_LEFT </dt>
1358 <dd class="description">Leading edge is the left of the page</dd>
1359 <dt>CUPS_EDGE_RIGHT </dt>
1360 <dd class="description">Leading edge is the right of the page</dd>
1361 <dt>CUPS_EDGE_TOP </dt>
1362 <dd class="description">Leading edge is the top of the page</dd>
1363 </dl>
1364 <h3 class="enumeration"><a name="cups_jog_e">cups_jog_e</a></h3>
1365 <p class="description">Jog attribute values</p>
1366 <h4 class="constants">Constants</h4>
1367 <dl>
1368 <dt>CUPS_JOG_FILE </dt>
1369 <dd class="description">Move pages after this file</dd>
1370 <dt>CUPS_JOG_JOB </dt>
1371 <dd class="description">Move pages after this job</dd>
1372 <dt>CUPS_JOG_NONE </dt>
1373 <dd class="description">Never move pages</dd>
1374 <dt>CUPS_JOG_SET </dt>
1375 <dd class="description">Move pages after this set</dd>
1376 </dl>
1377 <h3 class="enumeration"><a name="cups_mode_e">cups_mode_e</a></h3>
1378 <p class="description">cupsRasterOpen modes</p>
1379 <h4 class="constants">Constants</h4>
1380 <dl>
1381 <dt>CUPS_RASTER_READ </dt>
1382 <dd class="description">Open stream for reading</dd>
1383 <dt>CUPS_RASTER_WRITE </dt>
1384 <dd class="description">Open stream for writing</dd>
1385 <dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
1386 <dd class="description">Open stream for compressed writing </dd>
1387 <dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
1388 <dd class="description">Open stream for compressed writing in PWG mode </dd>
1389 </dl>
1390 <h3 class="enumeration"><a name="cups_order_e">cups_order_e</a></h3>
1391 <p class="description">cupsColorOrder attribute values</p>
1392 <h4 class="constants">Constants</h4>
1393 <dl>
1394 <dt>CUPS_ORDER_BANDED </dt>
1395 <dd class="description">CCC MMM YYY KKK ...</dd>
1396 <dt>CUPS_ORDER_CHUNKED </dt>
1397 <dd class="description">CMYK CMYK CMYK ...</dd>
1398 <dt>CUPS_ORDER_PLANAR </dt>
1399 <dd class="description">CCC ... MMM ... YYY ... KKK ...</dd>
1400 </dl>
1401 <h3 class="enumeration"><a name="cups_orient_e">cups_orient_e</a></h3>
1402 <p class="description">Orientation attribute values</p>
1403 <h4 class="constants">Constants</h4>
1404 <dl>
1405 <dt>CUPS_ORIENT_0 </dt>
1406 <dd class="description">Don't rotate the page</dd>
1407 <dt>CUPS_ORIENT_180 </dt>
1408 <dd class="description">Turn the page upside down</dd>
1409 <dt>CUPS_ORIENT_270 </dt>
1410 <dd class="description">Rotate the page clockwise</dd>
1411 <dt>CUPS_ORIENT_90 </dt>
1412 <dd class="description">Rotate the page counter-clockwise</dd>
1413 </dl>
1414 </div>
1415 </body>
1416 </html>