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