]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/api-raster.html
Fix a memory leak in the label printer driver (STR #4393)
[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>
c8fef167
MS
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>
0268488e 393 <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a
79e1d494 394version 1 page header structure.">cupsRasterReadHeader</a></li>
0268488e 395 <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a
79e1d494 396version 2 page header structure.">cupsRasterReadHeader2</a></li>
0268488e
MS
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
5a738aea 399header structure.">cupsRasterWriteHeader</a></li>
0268488e 400 <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2
79e1d494 401page header structure.">cupsRasterWriteHeader2</a></li>
0268488e 402 <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
8b450588 403</ul></li>
5a738aea 404<li><a href="#TYPES">Data Types</a><ul class="code">
79e1d494 405 <li><a href="#cups_adv_t" title="AdvanceMedia attribute values">cups_adv_t</a></li>
f11a948a
MS
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>
5a738aea 410 <li><a href="#cups_interpret_cb_t" title="cupsRasterInterpretPPD callback function">cups_interpret_cb_t</a></li>
f11a948a 411 <li><a href="#cups_jog_t" title="Jog attribute values">cups_jog_t</a></li>
5a738aea 412 <li><a href="#cups_mode_t" title="cupsRasterOpen modes">cups_mode_t</a></li>
79e1d494 413 <li><a href="#cups_order_t" title="cupsColorOrder attribute values">cups_order_t</a></li>
f11a948a 414 <li><a href="#cups_orient_t" title="Orientation attribute values">cups_orient_t</a></li>
5a738aea 415 <li><a href="#cups_page_header2_t" title="Version 2 page header ">cups_page_header2_t</a></li>
79e1d494 416 <li><a href="#cups_page_header_t" title="Version 1 page header ">cups_page_header_t</a></li>
c8fef167 417 <li><a href="#cups_raster_iocb_t" title="cupsRasterOpenIO callback function">cups_raster_iocb_t</a></li>
5a738aea
MS
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>
79e1d494 422 <li><a href="#cups_page_header_s" title="Version 1 page header ">cups_page_header_s</a></li>
5a738aea
MS
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>
f11a948a
MS
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>
5a738aea 432 <li><a href="#cups_order_e" title="cupsColorOrder attribute values">cups_order_e</a></li>
f11a948a 433 <li><a href="#cups_orient_e" title="Orientation attribute values">cups_orient_e</a></li>
5a738aea 434</ul></li>
0268488e 435</ul>
b423cd4c 436<!--
f7faf1f5 437 "$Id$"
b423cd4c 438
eac3a0a0 439 Raster API introduction for CUPS.
b423cd4c 440
7374e9e5 441 Copyright 2007-2013 by Apple Inc.
5a738aea 442 Copyright 1997-2006 by Easy Software Products, all rights reserved.
b423cd4c 443
444 These coded instructions, statements, and computer programs are the
5a738aea
MS
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/".
b423cd4c 449-->
450
5a738aea
MS
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
454CUPS raster streams which are used for printing to raster printers. Because the
455raster format is updated from time to time, it is important to use this API to
456avoid incompatibilities with newer versions of CUPS.</p>
457
79e1d494
MS
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>
f3c17241 460(OS X) that produce CUPS raster files and printer driver filters that
79e1d494
MS
461convert CUPS raster files into a format usable by the printer. Printer
462driver filters are by far the most common.</p>
463
5a738aea
MS
464<p>CUPS raster files (<code>application/vnd.cups-raster</code>) consists of
465a 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
469opened using the <a href='#cupsRasterOpen'><code>cupsRasterOpen</code></a>
470function. For example, to read raster data from the standard input, open
471file 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>
b423cd4c 478
5a738aea
MS
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
481structure contains the colorspace, bits per color, media size, media type,
79e1d494
MS
482hardware 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
5a738aea
MS
497<a href="#cupsRasterReadHeader2"><code>cupsRasterReadHeader2</code></a>
498function:</p>
b423cd4c 499
5a738aea
MS
500<pre class="example">
501#include &lt;cups/raster.h&gt;>
b423cd4c 502
5a738aea
MS
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;
b423cd4c 505
5a738aea
MS
506while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &amp;header))
507{
508 /* setup this page */
b423cd4c 509
5a738aea
MS
510 /* read raster data */
511
512 /* finish this page */
513}
b423cd4c 514</pre>
515
5a738aea
MS
516<p>After the page dictionary comes the page data which is a full-resolution,
517possibly compressed bitmap representing the page in the printer's output
518colorspace. You read uncompressed raster data using the
519<a href="#cupsRasterReadPixels"><code>cupsRasterReadPixels</code></a>
520function. A <code>for</code> loop is normally used to read the page one line
521at a time:</p>
b423cd4c 522
5a738aea
MS
523<pre class="example">
524#include &lt;cups/raster.h&gt;>
b423cd4c 525
5a738aea
MS
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;
528int page = 0;
529int y;
530char *buffer;
b423cd4c 531
5a738aea
MS
532while (<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
79e1d494 547 /* write raster data to printer on stdout */
5a738aea
MS
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
556the 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>
79e1d494
MS
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
f3c17241 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/OS X 10.5</span></li>
79e1d494
MS
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>
f3c17241 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/OS X 10.5</span></li>
75bd9771 592 <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
79e1d494 593 <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
f3c17241 594
79e1d494 595</ul>
5a738aea
MS
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">
600void 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>
79e1d494
MS
608<h4 class="discussion">Discussion</h4>
609<p class="discussion">The file descriptor associated with the raster stream must be closed
610separately as needed.</p>
f3c17241 611<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
5a738aea
MS
612<p class="description">Interpret PPD commands to create a page header.</p>
613<p class="code">
614int 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>
79e1d494 624<dd class="description">Page header to create</dd>
5a738aea
MS
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>
79e1d494 632<dd class="description">Optional page header callback (<code>NULL</code> for none)</dd>
5a738aea
MS
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>
79e1d494
MS
637<p class="discussion">This function is used by raster image processing (RIP) filters like
638cgpdftoraster and imagetoraster when writing CUPS raster data for a page.
639It is not used by raster printer driver filters which only read CUPS
640raster data.<br>
641<br>
642
643<code>cupsRasterInterpretPPD</code> does not mark the options in the PPD using
644the &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 -
646this allows for per-page options without manipulating the options array.<br>
5a738aea
MS
647<br>
648The &quot;func&quot; argument specifies an optional callback function that is
26d47ec6 649called prior to the computation of the final raster data. The function
5a738aea 650can make changes to the <a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a> data as needed to use a
26d47ec6 651supported raster format and then returns 0 on success and -1 if the
79e1d494
MS
652requested attributes cannot be supported.<br>
653<br>
5a738aea
MS
654
655<code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
7374e9e5 656Currently only the <code>[</code>, <code>]</code>, <code>&lt;&lt;</code>, <code>&gt;&gt;</code>, <code>{</code>,
5a738aea
MS
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
659are supported.
660
661</p>
662<h3 class="function"><a name="cupsRasterOpen">cupsRasterOpen</a></h3>
c8fef167 663<p class="description">Open a raster stream using a file descriptor.</p>
5a738aea
MS
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>
c8fef167
MS
674<dd class="description">Mode - <code>CUPS_RASTER_READ</code>,
675<code>CUPS_RASTER_WRITE</code>,
676<code>CUPS_RASTER_WRITE_COMPRESSED</code>,
677or <code>CUPS_RASTER_WRITE_PWG</code></dd>
5a738aea
MS
678</dl>
679<h4 class="returnvalue">Return Value</h4>
680<p class="description">New stream</p>
79e1d494
MS
681<h4 class="discussion">Discussion</h4>
682<p class="discussion">This function associates a raster stream with the given file descriptor.
683For most printer driver filters, &quot;fd&quot; will be 0 (stdin). For most raster
684image processor (RIP) filters that generate raster data, &quot;fd&quot; will be 1
685(stdout).<br>
686<br>
c8fef167
MS
687When 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
689be used - compressed and PWG output is generally 25-50% smaller but adds a
690100-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>,
709or <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
715context pointer.<br>
716<br>
717When 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
719be used - compressed and PWG output is generally 25-50% smaller but adds a
720100-300% execution time overhead.</p>
79e1d494 721<h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsRasterReadHeader">cupsRasterReadHeader</a></h3>
5a738aea 722<p class="description">Read a raster page header and store it in a
79e1d494 723version 1 page header structure.</p>
5a738aea
MS
724<p class="code">
725unsigned 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>
79e1d494
MS
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>
741Version 1 page headers were used in CUPS 1.0 and 1.1 and contain a subset
742of the version 2 page header data. This function handles reading version 2
743page headers and copying only the version 1 data into the provided buffer.
744
745</p>
f3c17241 746<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
5a738aea 747<p class="description">Read a raster page header and store it in a
79e1d494 748version 2 page header structure.</p>
5a738aea
MS
749<p class="code">
750unsigned 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>
79e1d494 762<p class="description">1 on success, 0 on failure/end-of-file</p>
5a738aea
MS
763<h3 class="function"><a name="cupsRasterReadPixels">cupsRasterReadPixels</a></h3>
764<p class="description">Read raster pixels.</p>
765<p class="code">
766unsigned 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>
79e1d494
MS
782<h4 class="discussion">Discussion</h4>
783<p class="discussion">For best performance, filters should read one or more whole lines.
784The &quot;cupsBytesPerLine&quot; value from the page header can be used to allocate
785the 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
5a738aea
MS
788header structure.</p>
789<p class="code">
790unsigned 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>
79e1d494
MS
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>
f3c17241 807<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
79e1d494
MS
808<p class="description">Write a raster page header from a version 2
809page header structure.</p>
5a738aea
MS
810<p class="code">
811unsigned 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>
79e1d494
MS
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>
5a738aea
MS
828<h3 class="function"><a name="cupsRasterWritePixels">cupsRasterWritePixels</a></h3>
829<p class="description">Write raster pixels.</p>
830<p class="code">
831unsigned 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>
79e1d494
MS
847<h4 class="discussion">Discussion</h4>
848<p class="discussion">For best performance, filters should write one or more whole lines.
849The &quot;cupsBytesPerLine&quot; value from the page header can be used to allocate
850the line buffer and as the number of bytes to write.</p>
5a738aea 851<h2 class="title"><a name="TYPES">Data Types</a></h2>
79e1d494
MS
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">
855typedef 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>
f11a948a 858<p class="description">Boolean type</p>
79e1d494
MS
859<p class="code">
860typedef 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>
f11a948a 863<p class="description">cupsColorSpace attribute values</p>
79e1d494
MS
864<p class="code">
865typedef 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>
f11a948a 868<p class="description">CutMedia attribute values</p>
79e1d494
MS
869<p class="code">
870typedef 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>
f11a948a 873<p class="description">LeadingEdge attribute values</p>
79e1d494
MS
874<p class="code">
875typedef enum <a href="#cups_edge_e">cups_edge_e</a> cups_edge_t;
876</p>
5a738aea
MS
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">
880typedef int (*cups_interpret_cb_t)(<a href="#cups_page_header2_t">cups_page_header2_t</a> *header, int preferred_bits);
881</p>
79e1d494 882<h3 class="typedef"><a name="cups_jog_t">cups_jog_t</a></h3>
f11a948a 883<p class="description">Jog attribute values</p>
79e1d494
MS
884<p class="code">
885typedef enum <a href="#cups_jog_e">cups_jog_e</a> cups_jog_t;
886</p>
5a738aea
MS
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">
890typedef enum <a href="#cups_mode_e">cups_mode_e</a> cups_mode_t;
891</p>
79e1d494
MS
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">
895typedef 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>
f11a948a 898<p class="description">Orientation attribute values</p>
79e1d494
MS
899<p class="code">
900typedef enum <a href="#cups_orient_e">cups_orient_e</a> cups_orient_t;
901</p>
f3c17241 902<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
5a738aea
MS
903<p class="description">Version 2 page header </p>
904<p class="code">
905typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
906</p>
79e1d494
MS
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>
5a738aea
MS
909<p class="code">
910typedef struct <a href="#cups_page_header_s">cups_page_header_s</a> cups_page_header_t;
911</p>
c8fef167
MS
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">
915typedef ssize_t (*cups_raster_iocb_t)(void *ctx, unsigned char *buffer, size_t length);
916</p>
5a738aea
MS
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">
b423cd4c 920typedef struct _cups_raster_s cups_raster_t;
5a738aea
MS
921</p>
922<h2 class="title"><a name="STRUCTURES">Structures</a></h2>
f3c17241 923<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
5a738aea
MS
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>
79e1d494
MS
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>
5a738aea
MS
931&nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
932&nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
79e1d494
MS
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>
5a738aea
MS
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>
79e1d494
MS
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>
5a738aea 945&nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
79e1d494
MS
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>
5a738aea
MS
948&nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
949&nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
79e1d494
MS
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>
5a738aea
MS
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>
79e1d494
MS
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>
5a738aea
MS
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>
79e1d494 981<dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
5a738aea
MS
982<dt>Collate </dt>
983<dd class="description">Collated copies value</dd>
984<dt>CutMedia </dt>
79e1d494 985<dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
5a738aea
MS
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>
79e1d494 991<dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
5a738aea
MS
992<dt>InsertSheet </dt>
993<dd class="description">InsertSheet value</dd>
994<dt>Jog </dt>
79e1d494 995<dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
5a738aea 996<dt>LeadingEdge </dt>
79e1d494 997<dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
5a738aea
MS
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>
79e1d494 1019<dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
5a738aea
MS
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>
f3c17241 1036<dt>cupsBorderlessScalingFactor <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea
MS
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>
f3c17241 1048<dt>cupsImagingBBox[4] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
79e1d494
MS
1049<dd class="description">Floating point ImagingBoundingBox
1050(scaling factor not applied, left,
1051bottom, right, top) </dd>
f3c17241 1052<dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea 1053<dd class="description">User-defined integer values </dd>
f3c17241 1054<dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea
MS
1055<dd class="description">Ink/toner type </dd>
1056<dt>cupsMediaType </dt>
1057<dd class="description">Media type code</dd>
f3c17241 1058<dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
79e1d494 1059<dd class="description">Number of color compoents </dd>
f3c17241 1060<dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea 1061<dd class="description">PageSize name </dd>
f3c17241 1062<dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea
MS
1063<dd class="description">Floating point PageSize (scaling *
1064factor not applied) </dd>
f3c17241 1065<dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea 1066<dd class="description">User-defined floating-point values </dd>
f3c17241 1067<dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea
MS
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>
f3c17241 1075<dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
5a738aea
MS
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>
79e1d494
MS
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>
5a738aea
MS
1082<p class="code">struct cups_page_header_s {<br>
1083&nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
79e1d494
MS
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>
5a738aea
MS
1088&nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
1089&nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
79e1d494
MS
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>
5a738aea
MS
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>
79e1d494
MS
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>
5a738aea 1102&nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
79e1d494
MS
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>
5a738aea
MS
1105&nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
1106&nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
79e1d494
MS
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>
5a738aea
MS
1110&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
1111&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
1112&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
79e1d494
MS
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>
5a738aea
MS
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>
79e1d494 1128<dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
5a738aea
MS
1129<dt>Collate </dt>
1130<dd class="description">Collated copies value</dd>
1131<dt>CutMedia </dt>
79e1d494 1132<dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
5a738aea
MS
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>
79e1d494 1138<dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
5a738aea
MS
1139<dt>InsertSheet </dt>
1140<dd class="description">InsertSheet value</dd>
1141<dt>Jog </dt>
79e1d494 1142<dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
5a738aea 1143<dt>LeadingEdge </dt>
79e1d494 1144<dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
5a738aea
MS
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>
79e1d494 1166<dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
5a738aea
MS
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>
f11a948a 1221<p class="description">Boolean type</p>
5a738aea
MS
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>
f11a948a 1230<p class="description">cupsColorSpace attribute values</p>
5a738aea
MS
1231<h4 class="constants">Constants</h4>
1232<dl>
10d09e33
MS
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>
f3c17241 1235<dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1236<dd class="description">CIE Lab </dd>
f3c17241 1237<dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea
MS
1238<dd class="description">CIE XYZ </dd>
1239<dt>CUPS_CSPACE_CMY </dt>
10d09e33 1240<dd class="description">Cyan, magenta, yellow (DeviceCMY)</dd>
5a738aea 1241<dt>CUPS_CSPACE_CMYK </dt>
10d09e33
MS
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>
f3c17241 1279<dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1280<dd class="description">ICC-based, 1 color </dd>
f3c17241 1281<dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1282<dd class="description">ICC-based, 2 colors </dd>
f3c17241 1283<dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1284<dd class="description">ICC-based, 3 colors </dd>
f3c17241 1285<dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1286<dd class="description">ICC-based, 4 colors </dd>
f3c17241 1287<dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1288<dd class="description">ICC-based, 5 colors </dd>
f3c17241 1289<dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1290<dd class="description">ICC-based, 6 colors </dd>
f3c17241 1291<dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1292<dd class="description">ICC-based, 7 colors </dd>
f3c17241 1293<dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1294<dd class="description">ICC-based, 8 colors </dd>
f3c17241 1295<dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1296<dd class="description">ICC-based, 9 colors </dd>
f3c17241 1297<dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1298<dd class="description">ICC-based, 10 colors </dd>
f3c17241 1299<dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1300<dd class="description">ICC-based, 11 colors </dd>
f3c17241 1301<dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1302<dd class="description">ICC-based, 12 colors </dd>
f3c17241 1303<dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1304<dd class="description">ICC-based, 13 colors </dd>
f3c17241 1305<dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea 1306<dd class="description">ICC-based, 14 colors </dd>
f3c17241 1307<dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
5a738aea
MS
1308<dd class="description">ICC-based, 15 colors </dd>
1309<dt>CUPS_CSPACE_K </dt>
10d09e33
MS
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>
5a738aea 1315<dt>CUPS_CSPACE_RGB </dt>
10d09e33 1316<dd class="description">Red, green, blue (DeviceRGB, sRGB by default)</dd>
5a738aea 1317<dt>CUPS_CSPACE_RGBA </dt>
10d09e33 1318<dd class="description">Red, green, blue, alpha (DeviceRGB, sRGB by default)</dd>
f3c17241 1319<dt>CUPS_CSPACE_RGBW <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
10d09e33
MS
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>
5a738aea 1327<dt>CUPS_CSPACE_W </dt>
10d09e33
MS
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>
5a738aea
MS
1335</dl>
1336<h3 class="enumeration"><a name="cups_cut_e">cups_cut_e</a></h3>
f11a948a 1337<p class="description">CutMedia attribute values</p>
5a738aea
MS
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>
f11a948a 1352<p class="description">LeadingEdge attribute values</p>
5a738aea
MS
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>
f11a948a 1365<p class="description">Jog attribute values</p>
5a738aea
MS
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>
f11a948a 1378<p class="description">cupsRasterOpen modes</p>
5a738aea
MS
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>
f3c17241 1385<dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span></dt>
5a738aea 1386<dd class="description">Open stream for compressed writing </dd>
f3c17241 1387<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
c8fef167 1388<dd class="description">Open stream for compressed writing in PWG mode </dd>
5a738aea
MS
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>
f11a948a 1402<p class="description">Orientation attribute values</p>
5a738aea
MS
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>
b423cd4c 1415</body>
1416</html>