]> git.ipfire.org Git - thirdparty/cups.git/blame - doc/help/api-raster.html
Merge changes from CUPS 1.4svn-r7282.
[thirdparty/cups.git] / doc / help / api-raster.html
CommitLineData
b423cd4c 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
2<html>
3<!-- SECTION: Programming -->
4<head>
5a738aea
MS
5<title>Raster API</title>
6<meta name="keywords" content="Programming">
7<meta name="creator" content="Mini-XML v2.5">
8<style type="text/css"><!--
9BODY {
10 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
11}
12
13H1, H2, H3, H4, H5, H6, P, TD, TH {
14 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
15}
16
17KBD {
18 font-family: monaco, courier, monospace;
19 font-weight: bold;
20}
21
22PRE {
23 font-family: monaco, courier, monospace;
24}
25
26PRE.command {
27 margin-left: 36pt;
28}
29
30PRE.example {
31 background: #eeeeee;
32 border: dotted thin #999999;
33 margin-left: 36pt;
34 padding: 10px;
35}
36
37PRE.command EM, PRE.example EM {
38 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
39}
40
41P.command {
42 font-family: monaco, courier, monospace;
43 margin-left: 36pt;
44}
45
46P.formula {
47 font-style: italic;
48 margin-left: 36pt;
49}
50
51BLOCKQUOTE {
52 background: #cccccc;
53 border: solid thin #999999;
54 padding: 10pt;
55}
56
57A:link, A:visited {
58 text-decoration: none;
59 font-weight: bold;
60}
61
62A:link:hover, A:visited:hover, A:active {
63 text-decoration: underline;
64 font-weight: bold;
65}
66
67SUB, SUP {
68 font-size: 50%;
69}
70
71DIV.table TABLE {
72 border: solid thin #999999;
73 border-collapse: collapse;
74 border-spacing: 0;
75 margin-left: auto;
76 margin-right: auto;
77}
78
79DIV.table CAPTION {
80 caption-side: top;
81 font-size: 120%;
82 font-style: italic;
83 font-weight: bold;
84 margin-left: auto;
85 margin-right: auto;
86}
87
88DIV.table TABLE TD {
89 border: solid thin #cccccc;
90 padding-top: 5pt;
91}
92
93DIV.table TABLE TH {
94 background: #cccccc;
95 border: none;
96 border-bottom: solid thin #999999;
97}
98
99DIV.figure TABLE {
100 margin-left: auto;
101 margin-right: auto;
102}
103
104DIV.figure CAPTION {
105 caption-side: bottom;
106 font-size: 120%;
107 font-style: italic;
108 font-weight: bold;
109 margin-left: auto;
110 margin-right: auto;
111}
112
113TH.label {
114 padding-top: 5pt;
115 text-align: right;
116 vertical-align: top;
117}
118
119HR {
120 border: solid thin;
121}
122
123SPAN.info {
124 background: #000000;
125 border: thin solid #000000;
126 color: #ffffff;
127 font-size: 80%;
128 font-style: italic;
129 font-weight: bold;
130 white-space: nowrap;
131}
132
133H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
134 float: right;
135 font-size: 100%;
136}
137
138H2.title, H3.title {
139 border-bottom: solid 2pt #000000;
140}
141
142DT {
143 margin-left: 36pt;
144 margin-top: 12pt;
145}
146
147DD {
148 margin-left: 54pt;
149}
150
151DL.category DT {
152 font-weight: bold;
153}
154
155P.summary {
156 margin-left: 36pt;
157 font-family: monaco, courier, monospace;
158}
159
160SPAN.message {
161 font-style: italic;
162 font-size: smaller;
163}
164
165DIV.summary TABLE {
166 border: solid thin #999999;
167 border-collapse: collapse;
168 border-spacing: 0;
169 margin: 10px;
170}
171
172DIV.summary TABLE TD, DIV.summary TABLE TH {
173 border: solid thin #999999;
174 padding: 5px;
175 text-align: left;
176 vertical-align: top;
177}
178
179DIV.summary TABLE THEAD TH {
180 background: #eeeeee;
181}
182
183/* API documentation styles... */
184div.body h1 {
185 margin: 0;
186}
187div.body h2 {
188 margin-top: 1.5em;
189}
190div.body h3, div.body h4, div.body h5 {
191 margin-bottom: 0.5em;
192 margin-top: 1.5em;
193}
194.class, .enumeration, .function, .struct, .typedef, .union {
195 border-bottom: solid thin #999999;
196 margin-bottom: 0;
197 margin-top: 2em;
198}
199.description {
200 margin-top: 0.5em;
201}
202code, p.code, pre, ul.code li {
203 font-family: monaco, courier, monospace;
204 font-size: 90%;
205}
206ul.code, ul.contents, ul.subcontents {
207 list-style-type: none;
208 margin: 0;
209 padding-left: 0;
210}
211ul.code li {
212 margin: 0;
213}
214ul.contents > li {
215 margin-top: 1em;
216}
217ul.contents li ul.code, ul.contents li ul.subcontents {
218 padding-left: 2em;
219}
220div.body dl {
221 margin-left: 0;
222 margin-top: 0;
223}
224div.body dt {
225 font-style: italic;
226 margin-left: 0;
227 margin-top: 0;
228}
229div.body dd {
230 margin-bottom: 0.5em;
231}
232
233/* This is just for the HTML files generated with the framedhelp target */
234div.contents {
235 background: #e8e8e8;
236 border: solid thin black;
237 padding: 10px;
238}
239div.contents h1 {
240 font-size: 110%;
241}
242div.contents h2 {
243 font-size: 100%;
244}
245div.contents ul.contents {
246 font-size: 80%;
247}
248--></style>
b423cd4c 249</head>
250<body>
5a738aea
MS
251<div class='body'>
252<!--
253 "$Id$"
254
255 Raster API header for the Common UNIX Printing System (CUPS).
256
257 Copyright 2008 by Apple Inc.
258
259 These coded instructions, statements, and computer programs are the
260 property of Apple Inc. and are protected by Federal copyright
261 law. Distribution and use rights are outlined in the file "LICENSE.txt"
262 which should have been included with this file. If this file is
263 file is missing or damaged, see the license at "http://www.cups.org/".
264-->
265
266<h1 class="title">Raster API</h1>
267
268<div class='summary'><table summary='General Information'>
269<thead>
270<tr>
271 <th>Header</th>
272 <th>cups/raster.h</th>
273</tr>
274</thead>
275<tbody>
276<tr>
277 <th>Library</th>
278 <td>-lcupsimage</td>
279</tr>
280<tr>
281 <th>See Also</th>
282 <td>Programming: <a href='api-overview.html'>Introduction to CUPS Programming</a><br>
283 Programming: <a href='api-cups.html'>CUPS API</a><br>
284 Programming: <a href='api-cups.html'>PPD API</a><br>
285 References: <a href='spec-ppd.html'>CUPS PPD Specification</a></td>
286</tr>
287</tbody>
288</table></div>
289<h2 class="title">Contents</h2>
290<ul class="contents">
291</li>
292<li><a href="#OVERVIEW">Overview</a></li>
293<li><a href="#FUNCTIONS">Functions</a><ul class="code">
294<li><a href="#cupsRasterClose" title="Close a raster stream.">cupsRasterClose</a></li>
295<li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
296<li><a href="#cupsRasterOpen" title="Open a raster stream.">cupsRasterOpen</a></li>
297<li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a
298V1 page header structure.">cupsRasterReadHeader</a></li>
299<li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a
300V2 page header structure.">cupsRasterReadHeader2</a></li>
301<li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
302<li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a V1 page
303header structure.">cupsRasterWriteHeader</a></li>
304<li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a V2 page
305header structure.">cupsRasterWriteHeader2</a></li>
306<li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
307</ul>
308<li><a href="#TYPES">Data Types</a><ul class="code">
309 <li><a href="#cups_interpret_cb_t" title="cupsRasterInterpretPPD callback function">cups_interpret_cb_t</a></li>
310 <li><a href="#cups_mode_t" title="cupsRasterOpen modes">cups_mode_t</a></li>
311 <li><a href="#cups_page_header2_t" title="Version 2 page header ">cups_page_header2_t</a></li>
312 <li><a href="#cups_page_header_t" title="Version 1 page header">cups_page_header_t</a></li>
313 <li><a href="#cups_raster_t" title="Raster stream data">cups_raster_t</a></li>
314</ul></li>
315<li><a href="#STRUCTURES">Structures</a><ul class="code">
316 <li><a href="#cups_page_header2_s" title="Version 2 page header ">cups_page_header2_s</a></li>
317 <li><a href="#cups_page_header_s" title="Version 1 page header">cups_page_header_s</a></li>
318</ul></li>
319<li><a href="#ENUMERATIONS">Constants</a><ul class="code">
320 <li><a href="#cups_adv_e" title="AdvanceMedia attribute values">cups_adv_e</a></li>
321 <li><a href="#cups_bool_e" title="Types...">cups_bool_e</a></li>
322 <li><a href="#cups_cspace_e" title="">cups_cspace_e</a></li>
323 <li><a href="#cups_cut_e" title="">cups_cut_e</a></li>
324 <li><a href="#cups_edge_e" title="">cups_edge_e</a></li>
325 <li><a href="#cups_jog_e" title="">cups_jog_e</a></li>
326 <li><a href="#cups_mode_e" title="">cups_mode_e</a></li>
327 <li><a href="#cups_order_e" title="cupsColorOrder attribute values">cups_order_e</a></li>
328 <li><a href="#cups_orient_e" title="">cups_orient_e</a></li>
329</ul></li>
330</ul>
b423cd4c 331<!--
f7faf1f5 332 "$Id$"
b423cd4c 333
334 Raster API introduction for the Common UNIX Printing System (CUPS).
335
5a738aea
MS
336 Copyright 2007-2008 by Apple Inc.
337 Copyright 1997-2006 by Easy Software Products, all rights reserved.
b423cd4c 338
339 These coded instructions, statements, and computer programs are the
5a738aea
MS
340 property of Apple Inc. and are protected by Federal copyright
341 law. Distribution and use rights are outlined in the file "LICENSE.txt"
342 which should have been included with this file. If this file is
343 file is missing or damaged, see the license at "http://www.cups.org/".
b423cd4c 344-->
345
5a738aea
MS
346<h2 class='title'><a name="OVERVIEW">Overview</a></h2>
347
348<p>The CUPS raster API provides a standard interface for reading and writing
349CUPS raster streams which are used for printing to raster printers. Because the
350raster format is updated from time to time, it is important to use this API to
351avoid incompatibilities with newer versions of CUPS.</p>
352
353<p>CUPS raster files (<code>application/vnd.cups-raster</code>) consists of
354a stream of raster page descriptions produced by one of the RIP filters such as
355<var>pstoraster</var>, <var>imagetoraster</var>, or
356<var>cgpdftoraster</var>. CUPS raster files are referred to using the
357<a href='#cups_raster_t'><code>cups_raster_t</code></a> type and are
358opened using the <a href='#cupsRasterOpen'><code>cupsRasterOpen</code></a>
359function. For example, to read raster data from the standard input, open
360file descriptor 0:</p>
361
362<pre class="example">
363#include &lt;cups/raster.h&gt;>
364
365<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
366</pre>
b423cd4c 367
5a738aea
MS
368<p>Each page of data begins with a page dictionary structure called
369<a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a>. This
370structure contains the colorspace, bits per color, media size, media type,
371hardware resolution, and so forth used for the page. You read the page header
372using the
373<a href="#cupsRasterReadHeader2"><code>cupsRasterReadHeader2</code></a>
374function:</p>
b423cd4c 375
5a738aea
MS
376<pre class="example">
377#include &lt;cups/raster.h&gt;>
b423cd4c 378
5a738aea
MS
379<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
380<a href="#cups_page_header2_t">cups_page_header2_t</a> header;
b423cd4c 381
5a738aea
MS
382while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &amp;header))
383{
384 /* setup this page */
b423cd4c 385
5a738aea
MS
386 /* read raster data */
387
388 /* finish this page */
389}
b423cd4c 390</pre>
391
5a738aea
MS
392<p>After the page dictionary comes the page data which is a full-resolution,
393possibly compressed bitmap representing the page in the printer's output
394colorspace. You read uncompressed raster data using the
395<a href="#cupsRasterReadPixels"><code>cupsRasterReadPixels</code></a>
396function. A <code>for</code> loop is normally used to read the page one line
397at a time:</p>
b423cd4c 398
5a738aea
MS
399<pre class="example">
400#include &lt;cups/raster.h&gt;>
b423cd4c 401
5a738aea
MS
402<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
403<a href="#cups_page_header2_t">cups_page_header2_t</a> header;
404int page = 0;
405int y;
406char *buffer;
b423cd4c 407
5a738aea
MS
408while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &amp;header))
409{
410 /* setup this page */
411 page ++;
412 fprintf(stderr, "PAGE: %d %d\n", page, header.NumCopies);
413
414 /* allocate memory for 1 line */
415 buffer = malloc(header.cupsBytesPerLine);
416
417 /* read raster data */
418 for (y = 0; y &lt; header.cupsHeight; y ++)
419 {
420 if (<a href="#cupsRasterReadPixels">cupsRasterReadPixels</a>(ras, buffer, header.cupsBytesPerLine) == 0)
421 break;
422
423 /* write raster data to printer */
424 }
425
426 /* finish this page */
427}
428</pre>
429
430<p>When you are done reading the raster data, call the
431<a href="#cupsRasterClose"><code>cupsRasterClose</code></a> function to free
432the memory used to read the raster file:</p>
433
434<pre class="example">
435<a href="#cups_raster_t">cups_raster_t</a> *ras;
436
437<a href="#cupsRasterClose">cupsRasterClose</a>(ras);
438</pre>
439<h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
440<h3 class="function"><a name="cupsRasterClose">cupsRasterClose</a></h3>
441<p class="description">Close a raster stream.</p>
442<p class="code">
443void cupsRasterClose (<br>
444&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r<br>
445);</p>
446<h4 class="parameters">Parameters</h4>
447<dl>
448<dt>r</dt>
449<dd class="description">Stream to close</dd>
450</dl>
451<h3 class="function"><span class="info">&nbsp;CUPS 1.2&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
452<p class="description">Interpret PPD commands to create a page header.</p>
453<p class="code">
454int cupsRasterInterpretPPD (<br>
455&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h,<br>
456&nbsp;&nbsp;&nbsp;&nbsp;ppd_file_t *ppd,<br>
457&nbsp;&nbsp;&nbsp;&nbsp;int num_options,<br>
458&nbsp;&nbsp;&nbsp;&nbsp;cups_option_t *options,<br>
459&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_interpret_cb_t">cups_interpret_cb_t</a> func<br>
460);</p>
461<h4 class="parameters">Parameters</h4>
462<dl>
463<dt>h</dt>
464<dd class="description">Page header</dd>
465<dt>ppd</dt>
466<dd class="description">PPD file</dd>
467<dt>num_options</dt>
468<dd class="description">Number of options</dd>
469<dt>options</dt>
470<dd class="description">Options</dd>
471<dt>func</dt>
472<dd class="description">Optional page header callback</dd>
473</dl>
474<h4 class="returnvalue">Return Value</h4>
475<p class="description">0 on success, -1 on failure</p>
476<h4 class="discussion">Discussion</h4>
477<p class="discussion">This function does not mark the options in the PPD using the &quot;num_options&quot;
478and &quot;options&quot; arguments. Instead, mark the options with
479<code>cupsMarkOptions</code> and <code>ppdMarkOption</code> prior to calling
480<code>cupsRasterInterpretPPD</code> - this allows you to do per-page options
481without manipulating the options array.<br>
482<br>
483The &quot;func&quot; argument specifies an optional callback function that is
26d47ec6 484called prior to the computation of the final raster data. The function
5a738aea 485can make changes to the <a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a> data as needed to use a
26d47ec6 486supported raster format and then returns 0 on success and -1 if the
487requested attributes cannot be supported.
5a738aea
MS
488
489<code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
490Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
491<code>}</code>, <code>cleartomark</code>, <code>copy</code>, <code>dup</code>, <code>index</code>,
492<code>pop</code>, <code>roll</code>, <code>setpagedevice</code>, and <code>stopped</code> operators
493are supported.
494
495</p>
496<h3 class="function"><a name="cupsRasterOpen">cupsRasterOpen</a></h3>
497<p class="description">Open a raster stream.</p>
498<p class="code">
499<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen (<br>
500&nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
501&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_mode_t">cups_mode_t</a> mode<br>
502);</p>
503<h4 class="parameters">Parameters</h4>
504<dl>
505<dt>fd</dt>
506<dd class="description">File descriptor</dd>
507<dt>mode</dt>
508<dd class="description">Mode</dd>
509</dl>
510<h4 class="returnvalue">Return Value</h4>
511<p class="description">New stream</p>
512<h3 class="function"><a name="cupsRasterReadHeader">cupsRasterReadHeader</a></h3>
513<p class="description">Read a raster page header and store it in a
514V1 page header structure.</p>
515<p class="code">
516unsigned cupsRasterReadHeader (<br>
517&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
518&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
519);</p>
520<h4 class="parameters">Parameters</h4>
521<dl>
522<dt>r</dt>
523<dd class="description">Raster stream</dd>
524<dt>h</dt>
525<dd class="description">Pointer to header data</dd>
526</dl>
527<h4 class="returnvalue">Return Value</h4>
528<p class="description">1 on success, 0 on fail</p>
529<h3 class="function"><span class="info">&nbsp;CUPS 1.2&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
530<p class="description">Read a raster page header and store it in a
531V2 page header structure.</p>
532<p class="code">
533unsigned cupsRasterReadHeader2 (<br>
534&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
535&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
536);</p>
537<h4 class="parameters">Parameters</h4>
538<dl>
539<dt>r</dt>
540<dd class="description">Raster stream</dd>
541<dt>h</dt>
542<dd class="description">Pointer to header data</dd>
543</dl>
544<h4 class="returnvalue">Return Value</h4>
545<p class="description">1 on success, 0 on fail</p>
546<h3 class="function"><a name="cupsRasterReadPixels">cupsRasterReadPixels</a></h3>
547<p class="description">Read raster pixels.</p>
548<p class="code">
549unsigned cupsRasterReadPixels (<br>
550&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
551&nbsp;&nbsp;&nbsp;&nbsp;unsigned char *p,<br>
552&nbsp;&nbsp;&nbsp;&nbsp;unsigned len<br>
553);</p>
554<h4 class="parameters">Parameters</h4>
555<dl>
556<dt>r</dt>
557<dd class="description">Raster stream</dd>
558<dt>p</dt>
559<dd class="description">Pointer to pixel buffer</dd>
560<dt>len</dt>
561<dd class="description">Number of bytes to read</dd>
562</dl>
563<h4 class="returnvalue">Return Value</h4>
564<p class="description">Number of bytes read</p>
565<h3 class="function"><a name="cupsRasterWriteHeader">cupsRasterWriteHeader</a></h3>
566<p class="description">Write a raster page header from a V1 page
567header structure.</p>
568<p class="code">
569unsigned cupsRasterWriteHeader (<br>
570&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
571&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header_t">cups_page_header_t</a> *h<br>
572);</p>
573<h4 class="parameters">Parameters</h4>
574<dl>
575<dt>r</dt>
576<dd class="description">Raster stream</dd>
577<dt>h</dt>
578<dd class="description">Raster page header</dd>
579</dl>
580<h4 class="returnvalue">Return Value</h4>
581<p class="description">1 on success, 0 on failure</p>
582<h3 class="function"><span class="info">&nbsp;CUPS 1.2&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
583<p class="description">Write a raster page header from a V2 page
584header structure.</p>
585<p class="code">
586unsigned cupsRasterWriteHeader2 (<br>
587&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
588&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_page_header2_t">cups_page_header2_t</a> *h<br>
589);</p>
590<h4 class="parameters">Parameters</h4>
591<dl>
592<dt>r</dt>
593<dd class="description">Raster stream</dd>
594<dt>h</dt>
595<dd class="description">Raster page header</dd>
596</dl>
597<h4 class="returnvalue">Return Value</h4>
598<p class="description">1 on success, 0 on failure</p>
599<h3 class="function"><a name="cupsRasterWritePixels">cupsRasterWritePixels</a></h3>
600<p class="description">Write raster pixels.</p>
601<p class="code">
602unsigned cupsRasterWritePixels (<br>
603&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_raster_t">cups_raster_t</a> *r,<br>
604&nbsp;&nbsp;&nbsp;&nbsp;unsigned char *p,<br>
605&nbsp;&nbsp;&nbsp;&nbsp;unsigned len<br>
606);</p>
607<h4 class="parameters">Parameters</h4>
608<dl>
609<dt>r</dt>
610<dd class="description">Raster stream</dd>
611<dt>p</dt>
612<dd class="description">Bytes to write</dd>
613<dt>len</dt>
614<dd class="description">Number of bytes to write</dd>
615</dl>
616<h4 class="returnvalue">Return Value</h4>
617<p class="description">Number of bytes written</p>
618<h2 class="title"><a name="TYPES">Data Types</a></h2>
619<h3 class="typedef"><a name="cups_interpret_cb_t">cups_interpret_cb_t</a></h3>
620<p class="description">cupsRasterInterpretPPD callback function</p>
621<p class="code">
622typedef int (*cups_interpret_cb_t)(<a href="#cups_page_header2_t">cups_page_header2_t</a> *header, int preferred_bits);
623</p>
624<h3 class="typedef"><a name="cups_mode_t">cups_mode_t</a></h3>
625<p class="description">cupsRasterOpen modes</p>
626<p class="code">
627typedef enum <a href="#cups_mode_e">cups_mode_e</a> cups_mode_t;
628</p>
629<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
630<p class="description">Version 2 page header </p>
631<p class="code">
632typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
633</p>
634<h3 class="typedef"><a name="cups_page_header_t">cups_page_header_t</a></h3>
635<p class="description">Version 1 page header</p>
636<p class="code">
637typedef struct <a href="#cups_page_header_s">cups_page_header_s</a> cups_page_header_t;
638</p>
639<h3 class="typedef"><a name="cups_raster_t">cups_raster_t</a></h3>
640<p class="description">Raster stream data</p>
641<p class="code">
b423cd4c 642typedef struct _cups_raster_s cups_raster_t;
5a738aea
MS
643</p>
644<h2 class="title"><a name="STRUCTURES">Structures</a></h2>
645<h3 class="struct"><span class="info">&nbsp;CUPS 1.2&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
646<p class="description">Version 2 page header </p>
647<p class="code">struct cups_page_header2_s {<br>
648&nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
649&nbsp;&nbsp;&nbsp;&nbsp;cups_adv_t AdvanceMedia;<br>
650&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Collate;<br>
651&nbsp;&nbsp;&nbsp;&nbsp;cups_cut_t CutMedia;<br>
652&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Duplex;<br>
653&nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
654&nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
655&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t InsertSheet;<br>
656&nbsp;&nbsp;&nbsp;&nbsp;cups_jog_t Jog;<br>
657&nbsp;&nbsp;&nbsp;&nbsp;cups_edge_t LeadingEdge;<br>
658&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t ManualFeed;<br>
659&nbsp;&nbsp;&nbsp;&nbsp;unsigned Margins[2];<br>
660&nbsp;&nbsp;&nbsp;&nbsp;char MediaClass[64];<br>
661&nbsp;&nbsp;&nbsp;&nbsp;char MediaColor[64];<br>
662&nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaPosition;<br>
663&nbsp;&nbsp;&nbsp;&nbsp;char MediaType[64];<br>
664&nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaWeight;<br>
665&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t MirrorPrint;<br>
666&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t NegativePrint;<br>
667&nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
668&nbsp;&nbsp;&nbsp;&nbsp;cups_orient_t Orientation;<br>
669&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t OutputFaceUp;<br>
670&nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
671&nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
672&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Separations;<br>
673&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t TraySwitch;<br>
674&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Tumble;<br>
675&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
676&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
677&nbsp;&nbsp;&nbsp;&nbsp;float cupsBorderlessScalingFactor;<br>
678&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
679&nbsp;&nbsp;&nbsp;&nbsp;cups_order_t cupsColorOrder;<br>
680&nbsp;&nbsp;&nbsp;&nbsp;cups_cspace_t cupsColorSpace;<br>
681&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsCompression;<br>
682&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsHeight;<br>
683&nbsp;&nbsp;&nbsp;&nbsp;float cupsImagingBBox[4];<br>
684&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsInteger[16];<br>
685&nbsp;&nbsp;&nbsp;&nbsp;char cupsMarkerType[64];<br>
686&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsMediaType;<br>
687&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsNumColors;<br>
688&nbsp;&nbsp;&nbsp;&nbsp;char cupsPageSizeName[64];<br>
689&nbsp;&nbsp;&nbsp;&nbsp;float cupsPageSize[2];<br>
690&nbsp;&nbsp;&nbsp;&nbsp;float cupsReal[16];<br>
691&nbsp;&nbsp;&nbsp;&nbsp;char cupsRenderingIntent[64];<br>
692&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowCount;<br>
693&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowFeed;<br>
694&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowStep;<br>
695&nbsp;&nbsp;&nbsp;&nbsp;char cupsString[16][64];<br>
696&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsWidth;<br>
697};</p>
698<h4 class="members">Members</h4>
699<dl>
700<dt>AdvanceDistance </dt>
701<dd class="description">AdvanceDistance value in points</dd>
702<dt>AdvanceMedia </dt>
703<dd class="description">AdvanceMedia value (see above)</dd>
704<dt>Collate </dt>
705<dd class="description">Collated copies value</dd>
706<dt>CutMedia </dt>
707<dd class="description">CutMedia value (see above)</dd>
708<dt>Duplex </dt>
709<dd class="description">Duplexed (double-sided) value</dd>
710<dt>HWResolution[2] </dt>
711<dd class="description">Resolution in dots-per-inch</dd>
712<dt>ImagingBoundingBox[4] </dt>
713<dd class="description">Pixel region that is painted (points)</dd>
714<dt>InsertSheet </dt>
715<dd class="description">InsertSheet value</dd>
716<dt>Jog </dt>
717<dd class="description">Jog value (see above)</dd>
718<dt>LeadingEdge </dt>
719<dd class="description">LeadingEdge value (see above)</dd>
720<dt>ManualFeed </dt>
721<dd class="description">ManualFeed value</dd>
722<dt>Margins[2] </dt>
723<dd class="description">Lower-lefthand margins in points</dd>
724<dt>MediaClass[64] </dt>
725<dd class="description">MediaClass string</dd>
726<dt>MediaColor[64] </dt>
727<dd class="description">MediaColor string</dd>
728<dt>MediaPosition </dt>
729<dd class="description">MediaPosition value</dd>
730<dt>MediaType[64] </dt>
731<dd class="description">MediaType string</dd>
732<dt>MediaWeight </dt>
733<dd class="description">MediaWeight value in grams/m^2</dd>
734<dt>MirrorPrint </dt>
735<dd class="description">MirrorPrint value</dd>
736<dt>NegativePrint </dt>
737<dd class="description">NegativePrint value</dd>
738<dt>NumCopies </dt>
739<dd class="description">Number of copies to produce</dd>
740<dt>Orientation </dt>
741<dd class="description">Orientation value (see above)</dd>
742<dt>OutputFaceUp </dt>
743<dd class="description">OutputFaceUp value</dd>
744<dt>OutputType[64] </dt>
745<dd class="description">OutputType string</dd>
746<dt>PageSize[2] </dt>
747<dd class="description">Width and length of page in points</dd>
748<dt>Separations </dt>
749<dd class="description">Separations value</dd>
750<dt>TraySwitch </dt>
751<dd class="description">TraySwitch value</dd>
752<dt>Tumble </dt>
753<dd class="description">Tumble value</dd>
754<dt>cupsBitsPerColor </dt>
755<dd class="description">Number of bits for each color</dd>
756<dt>cupsBitsPerPixel </dt>
757<dd class="description">Number of bits for each pixel</dd>
758<dt>cupsBorderlessScalingFactor <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
759<dd class="description">Scaling that was applied to page data </dd>
760<dt>cupsBytesPerLine </dt>
761<dd class="description">Number of bytes per line</dd>
762<dt>cupsColorOrder </dt>
763<dd class="description">Order of colors</dd>
764<dt>cupsColorSpace </dt>
765<dd class="description">True colorspace</dd>
766<dt>cupsCompression </dt>
767<dd class="description">Device compression to use</dd>
768<dt>cupsHeight </dt>
769<dd class="description">Height of page image in pixels</dd>
770<dt>cupsImagingBBox[4] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
771<dd class="description">Floating point ImagingBoundingBox *
772(scaling factor not applied) </dd>
773<dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
774<dd class="description">User-defined integer values </dd>
775<dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
776<dd class="description">Ink/toner type </dd>
777<dt>cupsMediaType </dt>
778<dd class="description">Media type code</dd>
779<dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
780<dd class="description">Number of colors </dd>
781<dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
782<dd class="description">PageSize name </dd>
783<dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
784<dd class="description">Floating point PageSize (scaling *
785factor not applied) </dd>
786<dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
787<dd class="description">User-defined floating-point values </dd>
788<dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
789<dd class="description">Color rendering intent </dd>
790<dt>cupsRowCount </dt>
791<dd class="description">Rows per band</dd>
792<dt>cupsRowFeed </dt>
793<dd class="description">Feed between bands</dd>
794<dt>cupsRowStep </dt>
795<dd class="description">Spacing between lines</dd>
796<dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
797<dd class="description">User-defined string values </dd>
798<dt>cupsWidth </dt>
799<dd class="description">Width of page image in pixels</dd>
800</dl>
801<h3 class="struct"><a name="cups_page_header_s">cups_page_header_s</a></h3>
802<p class="description">Version 1 page header</p>
803<p class="code">struct cups_page_header_s {<br>
804&nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
805&nbsp;&nbsp;&nbsp;&nbsp;cups_adv_t AdvanceMedia;<br>
806&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Collate;<br>
807&nbsp;&nbsp;&nbsp;&nbsp;cups_cut_t CutMedia;<br>
808&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Duplex;<br>
809&nbsp;&nbsp;&nbsp;&nbsp;unsigned HWResolution[2];<br>
810&nbsp;&nbsp;&nbsp;&nbsp;unsigned ImagingBoundingBox[4];<br>
811&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t InsertSheet;<br>
812&nbsp;&nbsp;&nbsp;&nbsp;cups_jog_t Jog;<br>
813&nbsp;&nbsp;&nbsp;&nbsp;cups_edge_t LeadingEdge;<br>
814&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t ManualFeed;<br>
815&nbsp;&nbsp;&nbsp;&nbsp;unsigned Margins[2];<br>
816&nbsp;&nbsp;&nbsp;&nbsp;char MediaClass[64];<br>
817&nbsp;&nbsp;&nbsp;&nbsp;char MediaColor[64];<br>
818&nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaPosition;<br>
819&nbsp;&nbsp;&nbsp;&nbsp;char MediaType[64];<br>
820&nbsp;&nbsp;&nbsp;&nbsp;unsigned MediaWeight;<br>
821&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t MirrorPrint;<br>
822&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t NegativePrint;<br>
823&nbsp;&nbsp;&nbsp;&nbsp;unsigned NumCopies;<br>
824&nbsp;&nbsp;&nbsp;&nbsp;cups_orient_t Orientation;<br>
825&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t OutputFaceUp;<br>
826&nbsp;&nbsp;&nbsp;&nbsp;char OutputType[64];<br>
827&nbsp;&nbsp;&nbsp;&nbsp;unsigned PageSize[2];<br>
828&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Separations;<br>
829&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t TraySwitch;<br>
830&nbsp;&nbsp;&nbsp;&nbsp;cups_bool_t Tumble;<br>
831&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerColor;<br>
832&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBitsPerPixel;<br>
833&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsBytesPerLine;<br>
834&nbsp;&nbsp;&nbsp;&nbsp;cups_order_t cupsColorOrder;<br>
835&nbsp;&nbsp;&nbsp;&nbsp;cups_cspace_t cupsColorSpace;<br>
836&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsCompression;<br>
837&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsHeight;<br>
838&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsMediaType;<br>
839&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowCount;<br>
840&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowFeed;<br>
841&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsRowStep;<br>
842&nbsp;&nbsp;&nbsp;&nbsp;unsigned cupsWidth;<br>
843};</p>
844<h4 class="members">Members</h4>
845<dl>
846<dt>AdvanceDistance </dt>
847<dd class="description">AdvanceDistance value in points</dd>
848<dt>AdvanceMedia </dt>
849<dd class="description">AdvanceMedia value (see above)</dd>
850<dt>Collate </dt>
851<dd class="description">Collated copies value</dd>
852<dt>CutMedia </dt>
853<dd class="description">CutMedia value (see above)</dd>
854<dt>Duplex </dt>
855<dd class="description">Duplexed (double-sided) value</dd>
856<dt>HWResolution[2] </dt>
857<dd class="description">Resolution in dots-per-inch</dd>
858<dt>ImagingBoundingBox[4] </dt>
859<dd class="description">Pixel region that is painted (points)</dd>
860<dt>InsertSheet </dt>
861<dd class="description">InsertSheet value</dd>
862<dt>Jog </dt>
863<dd class="description">Jog value (see above)</dd>
864<dt>LeadingEdge </dt>
865<dd class="description">LeadingEdge value (see above)</dd>
866<dt>ManualFeed </dt>
867<dd class="description">ManualFeed value</dd>
868<dt>Margins[2] </dt>
869<dd class="description">Lower-lefthand margins in points</dd>
870<dt>MediaClass[64] </dt>
871<dd class="description">MediaClass string</dd>
872<dt>MediaColor[64] </dt>
873<dd class="description">MediaColor string</dd>
874<dt>MediaPosition </dt>
875<dd class="description">MediaPosition value</dd>
876<dt>MediaType[64] </dt>
877<dd class="description">MediaType string</dd>
878<dt>MediaWeight </dt>
879<dd class="description">MediaWeight value in grams/m^2</dd>
880<dt>MirrorPrint </dt>
881<dd class="description">MirrorPrint value</dd>
882<dt>NegativePrint </dt>
883<dd class="description">NegativePrint value</dd>
884<dt>NumCopies </dt>
885<dd class="description">Number of copies to produce</dd>
886<dt>Orientation </dt>
887<dd class="description">Orientation value (see above)</dd>
888<dt>OutputFaceUp </dt>
889<dd class="description">OutputFaceUp value</dd>
890<dt>OutputType[64] </dt>
891<dd class="description">OutputType string</dd>
892<dt>PageSize[2] </dt>
893<dd class="description">Width and length of page in points</dd>
894<dt>Separations </dt>
895<dd class="description">Separations value</dd>
896<dt>TraySwitch </dt>
897<dd class="description">TraySwitch value</dd>
898<dt>Tumble </dt>
899<dd class="description">Tumble value</dd>
900<dt>cupsBitsPerColor </dt>
901<dd class="description">Number of bits for each color</dd>
902<dt>cupsBitsPerPixel </dt>
903<dd class="description">Number of bits for each pixel</dd>
904<dt>cupsBytesPerLine </dt>
905<dd class="description">Number of bytes per line</dd>
906<dt>cupsColorOrder </dt>
907<dd class="description">Order of colors</dd>
908<dt>cupsColorSpace </dt>
909<dd class="description">True colorspace</dd>
910<dt>cupsCompression </dt>
911<dd class="description">Device compression to use</dd>
912<dt>cupsHeight </dt>
913<dd class="description">Height of page image in pixels</dd>
914<dt>cupsMediaType </dt>
915<dd class="description">Media type code</dd>
916<dt>cupsRowCount </dt>
917<dd class="description">Rows per band</dd>
918<dt>cupsRowFeed </dt>
919<dd class="description">Feed between bands</dd>
920<dt>cupsRowStep </dt>
921<dd class="description">Spacing between lines</dd>
922<dt>cupsWidth </dt>
923<dd class="description">Width of page image in pixels</dd>
924</dl>
925<h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
926<h3 class="enumeration"><a name="cups_adv_e">cups_adv_e</a></h3>
927<p class="description">AdvanceMedia attribute values</p>
928<h4 class="constants">Constants</h4>
929<dl>
930<dt>CUPS_ADVANCE_FILE </dt>
931<dd class="description">Advance the roll after this file</dd>
932<dt>CUPS_ADVANCE_JOB </dt>
933<dd class="description">Advance the roll after this job</dd>
934<dt>CUPS_ADVANCE_NONE </dt>
935<dd class="description">Never advance the roll</dd>
936<dt>CUPS_ADVANCE_PAGE </dt>
937<dd class="description">Advance the roll after this page</dd>
938<dt>CUPS_ADVANCE_SET </dt>
939<dd class="description">Advance the roll after this set</dd>
940</dl>
941<h3 class="enumeration"><a name="cups_bool_e">cups_bool_e</a></h3>
942<p class="description">Types...</p>
943<h4 class="constants">Constants</h4>
944<dl>
945<dt>CUPS_FALSE </dt>
946<dd class="description">Logical false</dd>
947<dt>CUPS_TRUE </dt>
948<dd class="description">Logical true</dd>
949</dl>
950<h3 class="enumeration"><a name="cups_cspace_e">cups_cspace_e</a></h3>
951<p class="description"></p>
952<h4 class="constants">Constants</h4>
953<dl>
954<dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
955<dd class="description">CIE Lab </dd>
956<dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
957<dd class="description">CIE XYZ </dd>
958<dt>CUPS_CSPACE_CMY </dt>
959<dd class="description">Cyan, magenta, yellow</dd>
960<dt>CUPS_CSPACE_CMYK </dt>
961<dd class="description">Cyan, magenta, yellow, black</dd>
962<dt>CUPS_CSPACE_GMCK </dt>
963<dd class="description">Gold, magenta, yellow, black</dd>
964<dt>CUPS_CSPACE_GMCS </dt>
965<dd class="description">Gold, magenta, yellow, silver</dd>
966<dt>CUPS_CSPACE_GOLD </dt>
967<dd class="description">Gold foil</dd>
968<dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
969<dd class="description">ICC-based, 1 color </dd>
970<dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
971<dd class="description">ICC-based, 2 colors </dd>
972<dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
973<dd class="description">ICC-based, 3 colors </dd>
974<dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
975<dd class="description">ICC-based, 4 colors </dd>
976<dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
977<dd class="description">ICC-based, 5 colors </dd>
978<dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
979<dd class="description">ICC-based, 6 colors </dd>
980<dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
981<dd class="description">ICC-based, 7 colors </dd>
982<dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
983<dd class="description">ICC-based, 8 colors </dd>
984<dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
985<dd class="description">ICC-based, 9 colors </dd>
986<dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
987<dd class="description">ICC-based, 10 colors </dd>
988<dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
989<dd class="description">ICC-based, 11 colors </dd>
990<dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
991<dd class="description">ICC-based, 12 colors </dd>
992<dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
993<dd class="description">ICC-based, 13 colors </dd>
994<dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
995<dd class="description">ICC-based, 14 colors </dd>
996<dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19&nbsp;</span></dt>
997<dd class="description">ICC-based, 15 colors </dd>
998<dt>CUPS_CSPACE_K </dt>
999<dd class="description">Black</dd>
1000<dt>CUPS_CSPACE_KCMY </dt>
1001<dd class="description">Black, cyan, magenta, yellow</dd>
1002<dt>CUPS_CSPACE_KCMYcm </dt>
1003<dd class="description">Black, cyan, magenta, yellow, *
1004light-cyan, light-magenta</dd>
1005<dt>CUPS_CSPACE_RGB </dt>
1006<dd class="description">Red, green, blue</dd>
1007<dt>CUPS_CSPACE_RGBA </dt>
1008<dd class="description">Red, green, blue, alpha</dd>
1009<dt>CUPS_CSPACE_RGBW <span class="info">&nbsp;CUPS 1.2&nbsp;</span></dt>
1010<dd class="description">Red, green, blue, white </dd>
1011<dt>CUPS_CSPACE_SILVER </dt>
1012<dd class="description">Silver foil</dd>
1013<dt>CUPS_CSPACE_W </dt>
1014<dd class="description">Luminance</dd>
1015<dt>CUPS_CSPACE_WHITE </dt>
1016<dd class="description">White ink (as black)</dd>
1017<dt>CUPS_CSPACE_YMC </dt>
1018<dd class="description">Yellow, magenta, cyan</dd>
1019<dt>CUPS_CSPACE_YMCK </dt>
1020<dd class="description">Yellow, magenta, cyan, black</dd>
1021</dl>
1022<h3 class="enumeration"><a name="cups_cut_e">cups_cut_e</a></h3>
1023<p class="description"></p>
1024<h4 class="constants">Constants</h4>
1025<dl>
1026<dt>CUPS_CUT_FILE </dt>
1027<dd class="description">Cut the roll after this file</dd>
1028<dt>CUPS_CUT_JOB </dt>
1029<dd class="description">Cut the roll after this job</dd>
1030<dt>CUPS_CUT_NONE </dt>
1031<dd class="description">Never cut the roll</dd>
1032<dt>CUPS_CUT_PAGE </dt>
1033<dd class="description">Cut the roll after this page</dd>
1034<dt>CUPS_CUT_SET </dt>
1035<dd class="description">Cut the roll after this set</dd>
1036</dl>
1037<h3 class="enumeration"><a name="cups_edge_e">cups_edge_e</a></h3>
1038<p class="description"></p>
1039<h4 class="constants">Constants</h4>
1040<dl>
1041<dt>CUPS_EDGE_BOTTOM </dt>
1042<dd class="description">Leading edge is the bottom of the page</dd>
1043<dt>CUPS_EDGE_LEFT </dt>
1044<dd class="description">Leading edge is the left of the page</dd>
1045<dt>CUPS_EDGE_RIGHT </dt>
1046<dd class="description">Leading edge is the right of the page</dd>
1047<dt>CUPS_EDGE_TOP </dt>
1048<dd class="description">Leading edge is the top of the page</dd>
1049</dl>
1050<h3 class="enumeration"><a name="cups_jog_e">cups_jog_e</a></h3>
1051<p class="description"></p>
1052<h4 class="constants">Constants</h4>
1053<dl>
1054<dt>CUPS_JOG_FILE </dt>
1055<dd class="description">Move pages after this file</dd>
1056<dt>CUPS_JOG_JOB </dt>
1057<dd class="description">Move pages after this job</dd>
1058<dt>CUPS_JOG_NONE </dt>
1059<dd class="description">Never move pages</dd>
1060<dt>CUPS_JOG_SET </dt>
1061<dd class="description">Move pages after this set</dd>
1062</dl>
1063<h3 class="enumeration"><a name="cups_mode_e">cups_mode_e</a></h3>
1064<p class="description"></p>
1065<h4 class="constants">Constants</h4>
1066<dl>
1067<dt>CUPS_RASTER_READ </dt>
1068<dd class="description">Open stream for reading</dd>
1069<dt>CUPS_RASTER_WRITE </dt>
1070<dd class="description">Open stream for writing</dd>
1071<dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3&nbsp;</span></dt>
1072<dd class="description">Open stream for compressed writing </dd>
1073</dl>
1074<h3 class="enumeration"><a name="cups_order_e">cups_order_e</a></h3>
1075<p class="description">cupsColorOrder attribute values</p>
1076<h4 class="constants">Constants</h4>
1077<dl>
1078<dt>CUPS_ORDER_BANDED </dt>
1079<dd class="description">CCC MMM YYY KKK ...</dd>
1080<dt>CUPS_ORDER_CHUNKED </dt>
1081<dd class="description">CMYK CMYK CMYK ...</dd>
1082<dt>CUPS_ORDER_PLANAR </dt>
1083<dd class="description">CCC ... MMM ... YYY ... KKK ...</dd>
1084</dl>
1085<h3 class="enumeration"><a name="cups_orient_e">cups_orient_e</a></h3>
1086<p class="description"></p>
1087<h4 class="constants">Constants</h4>
1088<dl>
1089<dt>CUPS_ORIENT_0 </dt>
1090<dd class="description">Don't rotate the page</dd>
1091<dt>CUPS_ORIENT_180 </dt>
1092<dd class="description">Turn the page upside down</dd>
1093<dt>CUPS_ORIENT_270 </dt>
1094<dd class="description">Rotate the page clockwise</dd>
1095<dt>CUPS_ORIENT_90 </dt>
1096<dd class="description">Rotate the page counter-clockwise</dd>
1097</dl>
1098</div>
b423cd4c 1099</body>
1100</html>