]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/api-raster.html
Update documentation and dependencies for 1.5b1.
[thirdparty/cups.git] / doc / help / api-raster.html
CommitLineData
2c271940 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
30dd8997 2<html>
3<!-- SECTION: Programming -->
4<head>
562234e1 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">
a4bbbd66 9<style type="text/css"><!--
10BODY {
094701e3 11 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
a4bbbd66 12}
13
14H1, H2, H3, H4, H5, H6, P, TD, TH {
094701e3 15 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
a4bbbd66 16}
17
18KBD {
094701e3 19 font-family: monaco, courier, monospace;
a4bbbd66 20 font-weight: bold;
21}
22
23PRE {
094701e3 24 font-family: monaco, courier, monospace;
a4bbbd66 25}
26
27PRE.command {
22ac733b 28 border: dotted thin #7f7f7f;
a4bbbd66 29 margin-left: 36pt;
22ac733b 30 padding: 10px;
a4bbbd66 31}
32
328750c8 33P.compact {
34 margin: 0;
35}
36
44f509ec 37P.example {
38 font-style: italic;
39 margin-left: 36pt;
40}
41
a4bbbd66 42PRE.example {
43 background: #eeeeee;
44 border: dotted thin #999999;
45 margin-left: 36pt;
abc7086c 46 padding: 10pt;
a4bbbd66 47}
48
49PRE.command EM, PRE.example EM {
094701e3 50 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
a4bbbd66 51}
52
53P.command {
094701e3 54 font-family: monaco, courier, monospace;
a4bbbd66 55 margin-left: 36pt;
56}
57
58P.formula {
59 font-style: italic;
60 margin-left: 36pt;
61}
62
63BLOCKQUOTE {
abc7086c 64 background: #eeeeee;
a4bbbd66 65 border: solid thin #999999;
66 padding: 10pt;
67}
68
44f509ec 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
a4bbbd66 79A:link, A:visited {
bd405611 80 font-weight: normal;
a4bbbd66 81 text-decoration: none;
a4bbbd66 82}
83
84A:link:hover, A:visited:hover, A:active {
85 text-decoration: underline;
a4bbbd66 86}
87
88SUB, SUP {
89 font-size: 50%;
90}
91
44f509ec 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
a4bbbd66 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 {
a4bbbd66 148 text-align: right;
149 vertical-align: top;
150}
151
44f509ec 152TH.sublabel {
153 text-align: right;
154 font-weight: normal;
155}
156
a4bbbd66 157HR {
158 border: solid thin;
159}
160
161SPAN.info {
44f509ec 162 background: black;
163 border: thin solid black;
164 color: white;
a4bbbd66 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
abc7086c 176H1.title {
177}
178
a4bbbd66 179H2.title, H3.title {
180 border-bottom: solid 2pt #000000;
181}
182
44f509ec 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
a4bbbd66 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;
094701e3 249 font-family: monaco, courier, monospace;
a4bbbd66 250}
251
a4bbbd66 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 {
094701e3 290 font-family: monaco, courier, monospace;
a4bbbd66 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}
094701e3 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}
5f62eec2 335div.contents ul.subcontents li {
336 margin-left: 1em;
337 text-indent: -1em;
338}
a4bbbd66 339--></style>
30dd8997 340</head>
341<body>
a4bbbd66 342<div class='body'>
343<!--
344 "$Id$"
345
22ac733b 346 Raster API documentation for CUPS.
a4bbbd66 347
22ac733b 348 Copyright 2008-2010 by Apple Inc.
a4bbbd66 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
abc7086c 357<h1 class='title'>Raster API</h1>
358
a4bbbd66 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>
094701e3 375 Programming: <a href='api-cups.html'>PPD API</a><br>
a4bbbd66 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">
094701e3 382<li><a href="#OVERVIEW">Overview</a></li>
bd405611 383<li><a href="#TASKS">Functions by Task</a><ul class="subcontents">
562234e1 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>
bd405611 387</ul></li>
a4bbbd66 388<li><a href="#FUNCTIONS">Functions</a><ul class="code">
562234e1 389 <li><a href="#cupsRasterClose" title="Close a raster stream.">cupsRasterClose</a></li>
390 <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
391 <li><a href="#cupsRasterOpen" title="Open a raster stream using a file descriptor.">cupsRasterOpen</a></li>
392 <li><a href="#cupsRasterOpenIO" title="Open a raster stream using a callback function.">cupsRasterOpenIO</a></li>
393 <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a
bd405611 394version 1 page header structure.">cupsRasterReadHeader</a></li>
562234e1 395 <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a
bd405611 396version 2 page header structure.">cupsRasterReadHeader2</a></li>
562234e1 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
a4bbbd66 399header structure.">cupsRasterWriteHeader</a></li>
562234e1 400 <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2
bd405611 401page header structure.">cupsRasterWriteHeader2</a></li>
562234e1 402 <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
a45b55c7 403</ul></li>
a4bbbd66 404<li><a href="#TYPES">Data Types</a><ul class="code">
bd405611 405 <li><a href="#cups_adv_t" title="AdvanceMedia attribute values">cups_adv_t</a></li>
8eb1383e 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>
094701e3 410 <li><a href="#cups_interpret_cb_t" title="cupsRasterInterpretPPD callback function">cups_interpret_cb_t</a></li>
8eb1383e 411 <li><a href="#cups_jog_t" title="Jog attribute values">cups_jog_t</a></li>
094701e3 412 <li><a href="#cups_mode_t" title="cupsRasterOpen modes">cups_mode_t</a></li>
bd405611 413 <li><a href="#cups_order_t" title="cupsColorOrder attribute values">cups_order_t</a></li>
8eb1383e 414 <li><a href="#cups_orient_t" title="Orientation attribute values">cups_orient_t</a></li>
094701e3 415 <li><a href="#cups_page_header2_t" title="Version 2 page header ">cups_page_header2_t</a></li>
bd405611 416 <li><a href="#cups_page_header_t" title="Version 1 page header ">cups_page_header_t</a></li>
daafd4f8 417 <li><a href="#cups_raster_iocb_t" title="cupsRasterOpenIO callback function">cups_raster_iocb_t</a></li>
a4bbbd66 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">
094701e3 421 <li><a href="#cups_page_header2_s" title="Version 2 page header ">cups_page_header2_s</a></li>
bd405611 422 <li><a href="#cups_page_header_s" title="Version 1 page header ">cups_page_header_s</a></li>
a4bbbd66 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>
8eb1383e 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>
094701e3 432 <li><a href="#cups_order_e" title="cupsColorOrder attribute values">cups_order_e</a></li>
8eb1383e 433 <li><a href="#cups_orient_e" title="Orientation attribute values">cups_orient_e</a></li>
a4bbbd66 434</ul></li>
562234e1 435</ul>
30dd8997 436<!--
437 "$Id$"
438
2637dd2e 439 Raster API introduction for CUPS.
30dd8997 440
2637dd2e 441 Copyright 2007-2011 by Apple Inc.
a4bbbd66 442 Copyright 1997-2006 by Easy Software Products, all rights reserved.
30dd8997 443
444 These coded instructions, statements, and computer programs are the
a4bbbd66 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/".
30dd8997 449-->
450
094701e3 451<h2 class='title'><a name="OVERVIEW">Overview</a></h2>
30dd8997 452
094701e3 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>
30dd8997 457
bd405611 458<p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
459(RIP) filters such as <code>pstoraster</code> and <code>cgpdftoraster</code>
460(Mac OS X) that produce CUPS raster files and printer driver filters that
461convert CUPS raster files into a format usable by the printer. Printer
462driver filters are by far the most common.</p>
463
094701e3 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>
30dd8997 472
094701e3 473<pre class="example">
474#include &lt;cups/raster.h&gt;>
30dd8997 475
094701e3 476<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
477</pre>
478
479<p>Each page of data begins with a page dictionary structure called
480<a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a>. This
481structure contains the colorspace, bits per color, media size, media type,
bd405611 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
094701e3 497<a href="#cupsRasterReadHeader2"><code>cupsRasterReadHeader2</code></a>
498function:</p>
499
500<pre class="example">
501#include &lt;cups/raster.h&gt;>
502
503<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
504<a href="#cups_page_header2_t">cups_page_header2_t</a> header;
30dd8997 505
094701e3 506while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &amp;header))
507{
508 /* setup this page */
509
510 /* read raster data */
511
512 /* finish this page */
513}
30dd8997 514</pre>
515
094701e3 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>
30dd8997 522
094701e3 523<pre class="example">
524#include &lt;cups/raster.h&gt;>
30dd8997 525
094701e3 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;
30dd8997 531
094701e3 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
bd405611 547 /* write raster data to printer on stdout */
094701e3 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>
bd405611 563
564
565<h2 class='title'><a name="TASKS">Functions by Task</a></h2>
566
567<h3><a name="OPENCLOSE">Opening and Closing Raster Streams</a></h3>
568
569<ul class="code">
570
571 <li><a href="#cupsRasterClose" title="Close a raster stream.">cupsRasterClose</a></li>
572 <li><a href="#cupsRasterOpen" title="Open a raster stream.">cupsRasterOpen</a></li>
573
574</ul>
575
576<h3><a name="READING">Reading Raster Streams</a></h3>
577
578<ul class="code">
579
580 <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
581 <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2</a></li>
582 <li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
583
584</ul>
585
586<h3><a name="WRITING">Writing Raster Streams</a></h3>
587
588<ul class="code">
589
590 <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
f2324746 591 <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
592 <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
bd405611 593 <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
594
595</ul>
a4bbbd66 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>
bd405611 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>
611<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
a4bbbd66 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>
bd405611 624<dd class="description">Page header to create</dd>
a4bbbd66 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>
bd405611 632<dd class="description">Optional page header callback (<code>NULL</code> for none)</dd>
a4bbbd66 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>
bd405611 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>
a4bbbd66 647<br>
648The &quot;func&quot; argument specifies an optional callback function that is
f57c9527 649called prior to the computation of the final raster data. The function
094701e3 650can make changes to the <a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a> data as needed to use a
f57c9527 651supported raster format and then returns 0 on success and -1 if the
bd405611 652requested attributes cannot be supported.<br>
653<br>
094701e3 654
655<code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
656Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
657<code>}</code>, <code>cleartomark</code>, <code>copy</code>, <code>dup</code>, <code>index</code>,
658<code>pop</code>, <code>roll</code>, <code>setpagedevice</code>, and <code>stopped</code> operators
659are supported.
8487015c 660
a4bbbd66 661</p>
662<h3 class="function"><a name="cupsRasterOpen">cupsRasterOpen</a></h3>
daafd4f8 663<p class="description">Open a raster stream using a file descriptor.</p>
a4bbbd66 664<p class="code">
665<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen (<br>
666&nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
094701e3 667&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
a4bbbd66 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>
daafd4f8 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>
a4bbbd66 678</dl>
679<h4 class="returnvalue">Return Value</h4>
680<p class="description">New stream</p>
bd405611 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>
daafd4f8 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>
bd405611 721<h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsRasterReadHeader">cupsRasterReadHeader</a></h3>
a4bbbd66 722<p class="description">Read a raster page header and store it in a
bd405611 723version 1 page header structure.</p>
a4bbbd66 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>
bd405611 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>
746<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
a4bbbd66 747<p class="description">Read a raster page header and store it in a
bd405611 748version 2 page header structure.</p>
a4bbbd66 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>
bd405611 762<p class="description">1 on success, 0 on failure/end-of-file</p>
a4bbbd66 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>
bd405611 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
a4bbbd66 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>
bd405611 803<h4 class="discussion">Discussion</h4>
804<p class="discussion">This function is deprecated. Use <a href="#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2</code></a> instead.
805
806</p>
807<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
808<p class="description">Write a raster page header from a version 2
809page header structure.</p>
a4bbbd66 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>
bd405611 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>
a4bbbd66 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>
bd405611 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>
a4bbbd66 851<h2 class="title"><a name="TYPES">Data Types</a></h2>
bd405611 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>
8eb1383e 858<p class="description">Boolean type</p>
bd405611 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>
8eb1383e 863<p class="description">cupsColorSpace attribute values</p>
bd405611 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>
8eb1383e 868<p class="description">CutMedia attribute values</p>
bd405611 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>
8eb1383e 873<p class="description">LeadingEdge attribute values</p>
bd405611 874<p class="code">
875typedef enum <a href="#cups_edge_e">cups_edge_e</a> cups_edge_t;
876</p>
a4bbbd66 877<h3 class="typedef"><a name="cups_interpret_cb_t">cups_interpret_cb_t</a></h3>
094701e3 878<p class="description">cupsRasterInterpretPPD callback function</p>
a4bbbd66 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>
bd405611 882<h3 class="typedef"><a name="cups_jog_t">cups_jog_t</a></h3>
8eb1383e 883<p class="description">Jog attribute values</p>
bd405611 884<p class="code">
885typedef enum <a href="#cups_jog_e">cups_jog_e</a> cups_jog_t;
886</p>
094701e3 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>
bd405611 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>
8eb1383e 898<p class="description">Orientation attribute values</p>
bd405611 899<p class="code">
900typedef enum <a href="#cups_orient_e">cups_orient_e</a> cups_orient_t;
901</p>
902<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
094701e3 903<p class="description">Version 2 page header </p>
a4bbbd66 904<p class="code">
905typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
906</p>
bd405611 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>
a4bbbd66 909<p class="code">
910typedef struct <a href="#cups_page_header_s">cups_page_header_s</a> cups_page_header_t;
911</p>
daafd4f8 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>
a4bbbd66 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">
30dd8997 920typedef struct _cups_raster_s cups_raster_t;
a4bbbd66 921</p>
922<h2 class="title"><a name="STRUCTURES">Structures</a></h2>
bd405611 923<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
094701e3 924<p class="description">Version 2 page header </p>
a4bbbd66 925<p class="code">struct cups_page_header2_s {<br>
926&nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
bd405611 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>
a4bbbd66 931&nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
932&nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
bd405611 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>
a4bbbd66 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>
bd405611 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>
a4bbbd66 945&nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
bd405611 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>
a4bbbd66 948&nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
949&nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
bd405611 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>
a4bbbd66 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>
bd405611 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>
a4bbbd66 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>
bd405611 981<dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
a4bbbd66 982<dt>Collate </dt>
983<dd class="description">Collated copies value</dd>
984<dt>CutMedia </dt>
bd405611 985<dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
a4bbbd66 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>
bd405611 991<dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
a4bbbd66 992<dt>InsertSheet </dt>
993<dd class="description">InsertSheet value</dd>
994<dt>Jog </dt>
bd405611 995<dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
a4bbbd66 996<dt>LeadingEdge </dt>
bd405611 997<dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
a4bbbd66 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>
bd405611 1019<dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
a4bbbd66 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>
bd405611 1036<dt>cupsBorderlessScalingFactor <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 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>
bd405611 1048<dt>cupsImagingBBox[4] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1049<dd class="description">Floating point ImagingBoundingBox
1050(scaling factor not applied, left,
1051bottom, right, top) </dd>
1052<dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 1053<dd class="description">User-defined integer values </dd>
bd405611 1054<dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 1055<dd class="description">Ink/toner type </dd>
1056<dt>cupsMediaType </dt>
1057<dd class="description">Media type code</dd>
bd405611 1058<dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
1059<dd class="description">Number of color compoents </dd>
1060<dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 1061<dd class="description">PageSize name </dd>
bd405611 1062<dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 1063<dd class="description">Floating point PageSize (scaling *
1064factor not applied) </dd>
bd405611 1065<dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 1066<dd class="description">User-defined floating-point values </dd>
bd405611 1067<dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 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>
bd405611 1075<dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 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>
bd405611 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>
a4bbbd66 1082<p class="code">struct cups_page_header_s {<br>
1083&nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
bd405611 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>
a4bbbd66 1088&nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
1089&nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
bd405611 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>
a4bbbd66 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>
bd405611 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>
a4bbbd66 1102&nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
bd405611 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>
a4bbbd66 1105&nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
1106&nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
bd405611 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>
a4bbbd66 1110&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
1111&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
1112&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
bd405611 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>
a4bbbd66 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>
bd405611 1128<dd class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</dd>
a4bbbd66 1129<dt>Collate </dt>
1130<dd class="description">Collated copies value</dd>
1131<dt>CutMedia </dt>
bd405611 1132<dd class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</dd>
a4bbbd66 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>
bd405611 1138<dd class="description">Pixel region that is painted (points, left, bottom, right, top)</dd>
a4bbbd66 1139<dt>InsertSheet </dt>
1140<dd class="description">InsertSheet value</dd>
1141<dt>Jog </dt>
bd405611 1142<dd class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</dd>
a4bbbd66 1143<dt>LeadingEdge </dt>
bd405611 1144<dd class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</dd>
a4bbbd66 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>
bd405611 1166<dd class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</dd>
a4bbbd66 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>
8eb1383e 1221<p class="description">Boolean type</p>
a4bbbd66 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>
8eb1383e 1230<p class="description">cupsColorSpace attribute values</p>
a4bbbd66 1231<h4 class="constants">Constants</h4>
1232<dl>
22ac733b 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>
373b3e5f 1235<dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1236<dd class="description">CIE Lab </dd>
373b3e5f 1237<dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1238<dd class="description">CIE XYZ </dd>
1239<dt>CUPS_CSPACE_CMY </dt>
22ac733b 1240<dd class="description">Cyan, magenta, yellow (DeviceCMY)</dd>
a4bbbd66 1241<dt>CUPS_CSPACE_CMYK </dt>
22ac733b 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>
373b3e5f 1279<dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1280<dd class="description">ICC-based, 1 color </dd>
373b3e5f 1281<dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1282<dd class="description">ICC-based, 2 colors </dd>
373b3e5f 1283<dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1284<dd class="description">ICC-based, 3 colors </dd>
373b3e5f 1285<dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1286<dd class="description">ICC-based, 4 colors </dd>
373b3e5f 1287<dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1288<dd class="description">ICC-based, 5 colors </dd>
373b3e5f 1289<dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1290<dd class="description">ICC-based, 6 colors </dd>
373b3e5f 1291<dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1292<dd class="description">ICC-based, 7 colors </dd>
373b3e5f 1293<dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1294<dd class="description">ICC-based, 8 colors </dd>
373b3e5f 1295<dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1296<dd class="description">ICC-based, 9 colors </dd>
373b3e5f 1297<dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1298<dd class="description">ICC-based, 10 colors </dd>
373b3e5f 1299<dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1300<dd class="description">ICC-based, 11 colors </dd>
373b3e5f 1301<dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1302<dd class="description">ICC-based, 12 colors </dd>
373b3e5f 1303<dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1304<dd class="description">ICC-based, 13 colors </dd>
373b3e5f 1305<dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1306<dd class="description">ICC-based, 14 colors </dd>
373b3e5f 1307<dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
a4bbbd66 1308<dd class="description">ICC-based, 15 colors </dd>
1309<dt>CUPS_CSPACE_K </dt>
22ac733b 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>
a4bbbd66 1315<dt>CUPS_CSPACE_RGB </dt>
22ac733b 1316<dd class="description">Red, green, blue (DeviceRGB, sRGB by default)</dd>
a4bbbd66 1317<dt>CUPS_CSPACE_RGBA </dt>
22ac733b 1318<dd class="description">Red, green, blue, alpha (DeviceRGB, sRGB by default)</dd>
bd405611 1319<dt>CUPS_CSPACE_RGBW <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
22ac733b 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>
a4bbbd66 1327<dt>CUPS_CSPACE_W </dt>
22ac733b 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>
a4bbbd66 1335</dl>
1336<h3 class="enumeration"><a name="cups_cut_e">cups_cut_e</a></h3>
8eb1383e 1337<p class="description">CutMedia attribute values</p>
a4bbbd66 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>
8eb1383e 1352<p class="description">LeadingEdge attribute values</p>
a4bbbd66 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>
8eb1383e 1365<p class="description">Jog attribute values</p>
a4bbbd66 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>
8eb1383e 1378<p class="description">cupsRasterOpen modes</p>
a4bbbd66 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>
373b3e5f 1385<dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
a4bbbd66 1386<dd class="description">Open stream for compressed writing </dd>
a1a2e89a 1387<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
daafd4f8 1388<dd class="description">Open stream for compressed writing in PWG mode </dd>
a4bbbd66 1389</dl>
1390<h3 class="enumeration"><a name="cups_order_e">cups_order_e</a></h3>
094701e3 1391<p class="description">cupsColorOrder attribute values</p>
a4bbbd66 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>
8eb1383e 1402<p class="description">Orientation attribute values</p>
a4bbbd66 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>
30dd8997 1415</body>
1416</html>