1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3 <!-- SECTION: Programming -->
5 <title>Raster API
</title>
6 <meta name=
"keywords" content=
"Programming">
7 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8">
8 <meta name=
"creator" content=
"Mini-XML v2.7">
9 <style type=
"text/css"><!--
11 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
14 H1, H2, H3, H4, H5, H6, P, TD, TH {
15 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
19 font-family: monaco, courier, monospace;
24 font-family: monaco, courier, monospace;
28 border: dotted thin #7f7f7f;
44 border: dotted thin #999999;
49 PRE.command EM, PRE.example EM {
50 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
54 font-family: monaco, courier, monospace;
65 border: solid thin #999999;
76 -moz-border-radius: 10px;
81 text-decoration: none;
84 A:link:hover, A:visited:hover, A:active {
85 text-decoration: underline;
92 TR.data, TD.data, TR.data TD {
95 border-bottom: solid 1pt #999999;
99 border-bottom: solid 1pt #999999;
106 border: solid thin #999999;
107 border-collapse: collapse;
123 border: solid thin #cccccc;
130 border-bottom: solid thin #999999;
139 caption-side: bottom;
163 border: thin solid black;
171 H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
180 border-bottom: solid 2pt #000000;
183 DIV.indent, TABLE.indent {
191 border-collapse: collapse;
194 TABLE.indent TD, TABLE.indent TH {
199 border-collapse: collapse;
207 border-bottom: solid thin #cccccc;
212 vertical-align: bottom;
221 border-bottom: solid thin #eeeeee;
226 TABLE.list TR:nth-child(even) {
230 TABLE.list TR:nth-child(odd) {
249 font-family: monaco, courier, monospace;
253 border: solid thin #999999;
254 border-collapse: collapse;
259 DIV.summary TABLE TD, DIV.summary TABLE TH {
260 border: solid thin #999999;
266 DIV.summary TABLE THEAD TH {
270 /* API documentation styles... */
277 div.body h3, div.body h4, div.body h5 {
278 margin-bottom: 0.5em;
281 .class, .enumeration, .function, .struct, .typedef, .union {
282 border-bottom: solid thin #999999;
289 code, p.code, pre, ul.code li {
290 font-family: monaco, courier, monospace;
293 ul.code, ul.contents, ul.subcontents {
294 list-style-type: none;
304 ul.contents li ul.code, ul.contents li ul.subcontents {
317 margin-bottom: 0.5em;
320 /* This is just for the HTML files generated with the framedhelp target */
323 border: solid thin black;
332 div.contents ul.contents {
335 div.contents ul.subcontents li {
346 Raster API documentation for CUPS.
348 Copyright 2008-2010 by Apple Inc.
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/".
357 <h1 class='title'
>Raster API
</h1>
359 <div class='summary'
><table summary='General Information'
>
363 <th>cups/raster.h
</th>
373 <td>Programming:
<a href='api-overview.html'
>Introduction to CUPS Programming
</a><br>
374 Programming:
<a href='api-cups.html'
>CUPS API
</a><br>
375 Programming:
<a href='api-cups.html'
>PPD API
</a><br>
376 References:
<a href='spec-ppd.html'
>CUPS PPD Specification
</a></td>
380 <h2 class=
"title">Contents
</h2>
381 <ul class=
"contents">
382 <li><a href=
"#OVERVIEW">Overview
</a></li>
383 <li><a href=
"#TASKS">Functions by Task
</a><ul class=
"subcontents">
384 <li><a href=
"#OPENCLOSE">Opening and Closing Raster Streams
</a></li>
385 <li><a href=
"#READING">Reading Raster Streams
</a></li>
386 <li><a href=
"#WRITING">Writing Raster Streams
</a></li>
388 <li><a href=
"#FUNCTIONS">Functions
</a><ul class=
"code">
389 <li><a href=
"#cupsRasterClose" title=
"Close a raster stream.">cupsRasterClose
</a></li>
390 <li><a href=
"#cupsRasterInterpretPPD" title=
"Interpret PPD commands to create a page header.">cupsRasterInterpretPPD
</a></li>
391 <li><a href=
"#cupsRasterOpen" title=
"Open a raster stream.">cupsRasterOpen
</a></li>
392 <li><a href=
"#cupsRasterReadHeader" title=
"Read a raster page header and store it in a
393 version 1 page header structure.">cupsRasterReadHeader
</a></li>
394 <li><a href=
"#cupsRasterReadHeader2" title=
"Read a raster page header and store it in a
395 version 2 page header structure.">cupsRasterReadHeader2
</a></li>
396 <li><a href=
"#cupsRasterReadPixels" title=
"Read raster pixels.">cupsRasterReadPixels
</a></li>
397 <li><a href=
"#cupsRasterWriteHeader" title=
"Write a raster page header from a version 1 page
398 header structure.">cupsRasterWriteHeader
</a></li>
399 <li><a href=
"#cupsRasterWriteHeader2" title=
"Write a raster page header from a version 2
400 page header structure.">cupsRasterWriteHeader2
</a></li>
401 <li><a href=
"#cupsRasterWritePixels" title=
"Write raster pixels.">cupsRasterWritePixels
</a></li>
403 <li><a href=
"#TYPES">Data Types
</a><ul class=
"code">
404 <li><a href=
"#cups_adv_t" title=
"AdvanceMedia attribute values">cups_adv_t
</a></li>
405 <li><a href=
"#cups_bool_t" title=
"Boolean type">cups_bool_t
</a></li>
406 <li><a href=
"#cups_cspace_t" title=
"cupsColorSpace attribute values">cups_cspace_t
</a></li>
407 <li><a href=
"#cups_cut_t" title=
"CutMedia attribute values">cups_cut_t
</a></li>
408 <li><a href=
"#cups_edge_t" title=
"LeadingEdge attribute values">cups_edge_t
</a></li>
409 <li><a href=
"#cups_interpret_cb_t" title=
"cupsRasterInterpretPPD callback function">cups_interpret_cb_t
</a></li>
410 <li><a href=
"#cups_jog_t" title=
"Jog attribute values">cups_jog_t
</a></li>
411 <li><a href=
"#cups_mode_t" title=
"cupsRasterOpen modes">cups_mode_t
</a></li>
412 <li><a href=
"#cups_order_t" title=
"cupsColorOrder attribute values">cups_order_t
</a></li>
413 <li><a href=
"#cups_orient_t" title=
"Orientation attribute values">cups_orient_t
</a></li>
414 <li><a href=
"#cups_page_header2_t" title=
"Version 2 page header ">cups_page_header2_t
</a></li>
415 <li><a href=
"#cups_page_header_t" title=
"Version 1 page header ">cups_page_header_t
</a></li>
416 <li><a href=
"#cups_raster_t" title=
"Raster stream data">cups_raster_t
</a></li>
418 <li><a href=
"#STRUCTURES">Structures
</a><ul class=
"code">
419 <li><a href=
"#cups_page_header2_s" title=
"Version 2 page header ">cups_page_header2_s
</a></li>
420 <li><a href=
"#cups_page_header_s" title=
"Version 1 page header ">cups_page_header_s
</a></li>
422 <li><a href=
"#ENUMERATIONS">Constants
</a><ul class=
"code">
423 <li><a href=
"#cups_adv_e" title=
"AdvanceMedia attribute values">cups_adv_e
</a></li>
424 <li><a href=
"#cups_bool_e" title=
"Boolean type">cups_bool_e
</a></li>
425 <li><a href=
"#cups_cspace_e" title=
"cupsColorSpace attribute values">cups_cspace_e
</a></li>
426 <li><a href=
"#cups_cut_e" title=
"CutMedia attribute values">cups_cut_e
</a></li>
427 <li><a href=
"#cups_edge_e" title=
"LeadingEdge attribute values">cups_edge_e
</a></li>
428 <li><a href=
"#cups_jog_e" title=
"Jog attribute values">cups_jog_e
</a></li>
429 <li><a href=
"#cups_mode_e" title=
"cupsRasterOpen modes">cups_mode_e
</a></li>
430 <li><a href=
"#cups_order_e" title=
"cupsColorOrder attribute values">cups_order_e
</a></li>
431 <li><a href=
"#cups_orient_e" title=
"Orientation attribute values">cups_orient_e
</a></li>
437 Raster API introduction for the Common UNIX Printing System (CUPS).
439 Copyright 2007-2008 by Apple Inc.
440 Copyright 1997-2006 by Easy Software Products, all rights reserved.
442 These coded instructions, statements, and computer programs are the
443 property of Apple Inc. and are protected by Federal copyright
444 law. Distribution and use rights are outlined in the file "LICENSE.txt"
445 which should have been included with this file. If this file is
446 file is missing or damaged, see the license at "http://www.cups.org/".
449 <h2 class='title'
><a name=
"OVERVIEW">Overview
</a></h2>
451 <p>The CUPS raster API provides a standard interface for reading and writing
452 CUPS raster streams which are used for printing to raster printers. Because the
453 raster format is updated from time to time, it is important to use this API to
454 avoid incompatibilities with newer versions of CUPS.
</p>
456 <p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
457 (RIP) filters such as
<code>pstoraster
</code> and
<code>cgpdftoraster
</code>
458 (Mac OS X) that produce CUPS raster files and printer driver filters that
459 convert CUPS raster files into a format usable by the printer. Printer
460 driver filters are by far the most common.
</p>
462 <p>CUPS raster files (
<code>application/vnd.cups-raster
</code>) consists of
463 a stream of raster page descriptions produced by one of the RIP filters such as
464 <var>pstoraster
</var>,
<var>imagetoraster
</var>, or
465 <var>cgpdftoraster
</var>. CUPS raster files are referred to using the
466 <a href='#cups_raster_t'
><code>cups_raster_t
</code></a> type and are
467 opened using the
<a href='#cupsRasterOpen'
><code>cupsRasterOpen
</code></a>
468 function. For example, to read raster data from the standard input, open
469 file descriptor
0:
</p>
471 <pre class=
"example">
472 #include
<cups/raster.h
>>
474 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras =
<a href=
"#cupsRasterOpen">cupsRasterOpen
</a>(
0, CUPS_RASTER_READ);
477 <p>Each page of data begins with a page dictionary structure called
478 <a href=
"#cups_page_header2_t"><code>cups_page_header2_t
</code></a>. This
479 structure contains the colorspace, bits per color, media size, media type,
480 hardware resolution, and so forth used for the page.
</p>
482 <blockquote><b>Note:
</b>
484 <p>Do not confuse the colorspace in the page header with the PPD
485 <tt>ColorModel
</tt> keyword.
<tt>ColorModel
</tt> refers to the general type of
486 color used for a device (Gray, RGB, CMYK, DeviceN) and is often used to
487 select a particular colorspace for the page header along with the associate
488 color profile. The page header colorspace (
<tt>cupsColorSpace
</tt>) describes
489 both the type and organization of the color data, for example KCMY (black
490 first) instead of CMYK and RGBA (RGB + alpha) instead of RGB.
</p>
494 <p>You read the page header using the
495 <a href=
"#cupsRasterReadHeader2"><code>cupsRasterReadHeader2
</code></a>
498 <pre class=
"example">
499 #include
<cups/raster.h
>>
501 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras =
<a href=
"#cupsRasterOpen">cupsRasterOpen
</a>(
0, CUPS_RASTER_READ);
502 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> header;
504 while (
<a href=
"#cupsRasterReadHeader2">cupsRasterReadHeader2
</a>(ras,
&header))
506 /* setup this page */
508 /* read raster data */
510 /* finish this page */
514 <p>After the page dictionary comes the page data which is a full-resolution,
515 possibly compressed bitmap representing the page in the printer's output
516 colorspace. You read uncompressed raster data using the
517 <a href=
"#cupsRasterReadPixels"><code>cupsRasterReadPixels
</code></a>
518 function. A
<code>for
</code> loop is normally used to read the page one line
521 <pre class=
"example">
522 #include
<cups/raster.h
>>
524 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras =
<a href=
"#cupsRasterOpen">cupsRasterOpen
</a>(
0, CUPS_RASTER_READ);
525 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> header;
530 while (
<a href=
"#cupsRasterReadHeader2">cupsRasterReadHeader2
</a>(ras,
&header))
532 /* setup this page */
534 fprintf(stderr,
"PAGE: %d %d\n", page, header.NumCopies);
536 /* allocate memory for
1 line */
537 buffer = malloc(header.cupsBytesPerLine);
539 /* read raster data */
540 for (y =
0; y
< header.cupsHeight; y ++)
542 if (
<a href=
"#cupsRasterReadPixels">cupsRasterReadPixels
</a>(ras, buffer, header.cupsBytesPerLine) ==
0)
545 /* write raster data to printer on stdout */
548 /* finish this page */
552 <p>When you are done reading the raster data, call the
553 <a href=
"#cupsRasterClose"><code>cupsRasterClose
</code></a> function to free
554 the memory used to read the raster file:
</p>
556 <pre class=
"example">
557 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras;
559 <a href=
"#cupsRasterClose">cupsRasterClose
</a>(ras);
563 <h2 class='title'
><a name=
"TASKS">Functions by Task
</a></h2>
565 <h3><a name=
"OPENCLOSE">Opening and Closing Raster Streams
</a></h3>
569 <li><a href=
"#cupsRasterClose" title=
"Close a raster stream.">cupsRasterClose
</a></li>
570 <li><a href=
"#cupsRasterOpen" title=
"Open a raster stream.">cupsRasterOpen
</a></li>
574 <h3><a name=
"READING">Reading Raster Streams
</a></h3>
578 <li><a href=
"#cupsRasterReadHeader" title=
"Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader
</a> <span class=
"info">Deprecated in CUPS
1.2/Mac OS X
10.5</span></li>
579 <li><a href=
"#cupsRasterReadHeader2" title=
"Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2
</a></li>
580 <li><a href=
"#cupsRasterReadPixels" title=
"Read raster pixels.">cupsRasterReadPixels
</a></li>
584 <h3><a name=
"WRITING">Writing Raster Streams
</a></h3>
588 <li><a href=
"#cupsRasterInterpretPPD" title=
"Interpret PPD commands to create a page header.">cupsRasterInterpretPPD
</a></li>
589 <li><a href=
"#cupsRasterWriteHeader" title=
"Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader
</a> <span class=
"info">Deprecated in CUPS
1.2/Mac OS X
10.5</span></li>
590 <li><a href=
"#cupsRasterWriteHeader2" title=
"Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2
</a></li>
591 <li><a href=
"#cupsRasterWritePixels" title=
"Write raster pixels.">cupsRasterWritePixels
</a></li>
594 <h2 class=
"title"><a name=
"FUNCTIONS">Functions
</a></h2>
595 <h3 class=
"function"><a name=
"cupsRasterClose">cupsRasterClose
</a></h3>
596 <p class=
"description">Close a raster stream.
</p>
598 void cupsRasterClose (
<br>
599 <a href=
"#cups_raster_t">cups_raster_t
</a> *r
<br>
601 <h4 class=
"parameters">Parameters
</h4>
604 <dd class=
"description">Stream to close
</dd>
606 <h4 class=
"discussion">Discussion
</h4>
607 <p class=
"discussion">The file descriptor associated with the raster stream must be closed
608 separately as needed.
</p>
609 <h3 class=
"function"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cupsRasterInterpretPPD">cupsRasterInterpretPPD
</a></h3>
610 <p class=
"description">Interpret PPD commands to create a page header.
</p>
612 int cupsRasterInterpretPPD (
<br>
613 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *h,
<br>
614 ppd_file_t *ppd,
<br>
615 int num_options,
<br>
616 cups_option_t *options,
<br>
617 <a href=
"#cups_interpret_cb_t">cups_interpret_cb_t
</a> func
<br>
619 <h4 class=
"parameters">Parameters
</h4>
622 <dd class=
"description">Page header to create
</dd>
624 <dd class=
"description">PPD file
</dd>
626 <dd class=
"description">Number of options
</dd>
628 <dd class=
"description">Options
</dd>
630 <dd class=
"description">Optional page header callback (
<code>NULL
</code> for none)
</dd>
632 <h4 class=
"returnvalue">Return Value
</h4>
633 <p class=
"description">0 on success, -
1 on failure
</p>
634 <h4 class=
"discussion">Discussion
</h4>
635 <p class=
"discussion">This function is used by raster image processing (RIP) filters like
636 cgpdftoraster and imagetoraster when writing CUPS raster data for a page.
637 It is not used by raster printer driver filters which only read CUPS
641 <code>cupsRasterInterpretPPD
</code> does not mark the options in the PPD using
642 the
"num_options
" and
"options
" arguments. Instead, mark the options with
643 <code>cupsMarkOptions
</code> and
<code>ppdMarkOption
</code> prior to calling it -
644 this allows for per-page options without manipulating the options array.
<br>
646 The
"func
" argument specifies an optional callback function that is
647 called prior to the computation of the final raster data. The function
648 can make changes to the
<a href=
"#cups_page_header2_t"><code>cups_page_header2_t
</code></a> data as needed to use a
649 supported raster format and then returns
0 on success and -
1 if the
650 requested attributes cannot be supported.
<br>
653 <code>cupsRasterInterpretPPD
</code> supports a subset of the PostScript language.
654 Currently only the
<code>[
</code>,
<code>]
</code>,
<code><<
</code>,
<code>>></code>,
<code>{
</code>,
655 <code>}
</code>,
<code>cleartomark
</code>,
<code>copy
</code>,
<code>dup
</code>,
<code>index
</code>,
656 <code>pop
</code>,
<code>roll
</code>,
<code>setpagedevice
</code>, and
<code>stopped
</code> operators
660 <h3 class=
"function"><a name=
"cupsRasterOpen">cupsRasterOpen
</a></h3>
661 <p class=
"description">Open a raster stream.
</p>
663 <a href=
"#cups_raster_t">cups_raster_t
</a> *cupsRasterOpen (
<br>
664 int fd,
<br>
665 <a href=
"#cups_mode_t">cups_mode_t
</a> mode
<br>
667 <h4 class=
"parameters">Parameters
</h4>
670 <dd class=
"description">File descriptor
</dd>
672 <dd class=
"description">Mode -
<code>CUPS_RASTER_READ
</code>,
<code>CUPS_RASTER_WRITE
</code>, or
<code>CUPS_RASTER_WRITE_COMPRESSED
</code></dd>
674 <h4 class=
"returnvalue">Return Value
</h4>
675 <p class=
"description">New stream
</p>
676 <h4 class=
"discussion">Discussion
</h4>
677 <p class=
"discussion">This function associates a raster stream with the given file descriptor.
678 For most printer driver filters,
"fd
" will be
0 (stdin). For most raster
679 image processor (RIP) filters that generate raster data,
"fd
" will be
1
682 When writing raster data, the
<code>CUPS_RASTER_WRITE
</code> or
683 <code>CUPS_RASTER_WRITE_COMPRESS
</code> mode can be used - compressed output
684 is generally
25-
50% smaller but adds a
100-
300% execution time overhead.
</p>
685 <h3 class=
"function"><span class=
"info"> DEPRECATED
</span><a name=
"cupsRasterReadHeader">cupsRasterReadHeader
</a></h3>
686 <p class=
"description">Read a raster page header and store it in a
687 version
1 page header structure.
</p>
689 unsigned cupsRasterReadHeader (
<br>
690 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
691 <a href=
"#cups_page_header_t">cups_page_header_t
</a> *h
<br>
693 <h4 class=
"parameters">Parameters
</h4>
696 <dd class=
"description">Raster stream
</dd>
698 <dd class=
"description">Pointer to header data
</dd>
700 <h4 class=
"returnvalue">Return Value
</h4>
701 <p class=
"description">1 on success,
0 on failure/end-of-file
</p>
702 <h4 class=
"discussion">Discussion
</h4>
703 <p class=
"discussion">This function is deprecated. Use
<a href=
"#cupsRasterReadHeader2"><code>cupsRasterReadHeader2
</code></a> instead.
<br>
705 Version
1 page headers were used in CUPS
1.0 and
1.1 and contain a subset
706 of the version
2 page header data. This function handles reading version
2
707 page headers and copying only the version
1 data into the provided buffer.
710 <h3 class=
"function"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cupsRasterReadHeader2">cupsRasterReadHeader2
</a></h3>
711 <p class=
"description">Read a raster page header and store it in a
712 version
2 page header structure.
</p>
714 unsigned cupsRasterReadHeader2 (
<br>
715 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
716 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *h
<br>
718 <h4 class=
"parameters">Parameters
</h4>
721 <dd class=
"description">Raster stream
</dd>
723 <dd class=
"description">Pointer to header data
</dd>
725 <h4 class=
"returnvalue">Return Value
</h4>
726 <p class=
"description">1 on success,
0 on failure/end-of-file
</p>
727 <h3 class=
"function"><a name=
"cupsRasterReadPixels">cupsRasterReadPixels
</a></h3>
728 <p class=
"description">Read raster pixels.
</p>
730 unsigned cupsRasterReadPixels (
<br>
731 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
732 unsigned char *p,
<br>
733 unsigned len
<br>
735 <h4 class=
"parameters">Parameters
</h4>
738 <dd class=
"description">Raster stream
</dd>
740 <dd class=
"description">Pointer to pixel buffer
</dd>
742 <dd class=
"description">Number of bytes to read
</dd>
744 <h4 class=
"returnvalue">Return Value
</h4>
745 <p class=
"description">Number of bytes read
</p>
746 <h4 class=
"discussion">Discussion
</h4>
747 <p class=
"discussion">For best performance, filters should read one or more whole lines.
748 The
"cupsBytesPerLine
" value from the page header can be used to allocate
749 the line buffer and as the number of bytes to read.
</p>
750 <h3 class=
"function"><span class=
"info"> DEPRECATED
</span><a name=
"cupsRasterWriteHeader">cupsRasterWriteHeader
</a></h3>
751 <p class=
"description">Write a raster page header from a version
1 page
752 header structure.
</p>
754 unsigned cupsRasterWriteHeader (
<br>
755 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
756 <a href=
"#cups_page_header_t">cups_page_header_t
</a> *h
<br>
758 <h4 class=
"parameters">Parameters
</h4>
761 <dd class=
"description">Raster stream
</dd>
763 <dd class=
"description">Raster page header
</dd>
765 <h4 class=
"returnvalue">Return Value
</h4>
766 <p class=
"description">1 on success,
0 on failure
</p>
767 <h4 class=
"discussion">Discussion
</h4>
768 <p class=
"discussion">This function is deprecated. Use
<a href=
"#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2
</code></a> instead.
771 <h3 class=
"function"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cupsRasterWriteHeader2">cupsRasterWriteHeader2
</a></h3>
772 <p class=
"description">Write a raster page header from a version
2
773 page header structure.
</p>
775 unsigned cupsRasterWriteHeader2 (
<br>
776 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
777 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *h
<br>
779 <h4 class=
"parameters">Parameters
</h4>
782 <dd class=
"description">Raster stream
</dd>
784 <dd class=
"description">Raster page header
</dd>
786 <h4 class=
"returnvalue">Return Value
</h4>
787 <p class=
"description">1 on success,
0 on failure
</p>
788 <h4 class=
"discussion">Discussion
</h4>
789 <p class=
"discussion">The page header can be initialized using
<a href=
"#cupsRasterInterpretPPD"><code>cupsRasterInterpretPPD
</code></a>.
792 <h3 class=
"function"><a name=
"cupsRasterWritePixels">cupsRasterWritePixels
</a></h3>
793 <p class=
"description">Write raster pixels.
</p>
795 unsigned cupsRasterWritePixels (
<br>
796 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
797 unsigned char *p,
<br>
798 unsigned len
<br>
800 <h4 class=
"parameters">Parameters
</h4>
803 <dd class=
"description">Raster stream
</dd>
805 <dd class=
"description">Bytes to write
</dd>
807 <dd class=
"description">Number of bytes to write
</dd>
809 <h4 class=
"returnvalue">Return Value
</h4>
810 <p class=
"description">Number of bytes written
</p>
811 <h4 class=
"discussion">Discussion
</h4>
812 <p class=
"discussion">For best performance, filters should write one or more whole lines.
813 The
"cupsBytesPerLine
" value from the page header can be used to allocate
814 the line buffer and as the number of bytes to write.
</p>
815 <h2 class=
"title"><a name=
"TYPES">Data Types
</a></h2>
816 <h3 class=
"typedef"><a name=
"cups_adv_t">cups_adv_t
</a></h3>
817 <p class=
"description">AdvanceMedia attribute values
</p>
819 typedef enum
<a href=
"#cups_adv_e">cups_adv_e
</a> cups_adv_t;
821 <h3 class=
"typedef"><a name=
"cups_bool_t">cups_bool_t
</a></h3>
822 <p class=
"description">Boolean type
</p>
824 typedef enum
<a href=
"#cups_bool_e">cups_bool_e
</a> cups_bool_t;
826 <h3 class=
"typedef"><a name=
"cups_cspace_t">cups_cspace_t
</a></h3>
827 <p class=
"description">cupsColorSpace attribute values
</p>
829 typedef enum
<a href=
"#cups_cspace_e">cups_cspace_e
</a> cups_cspace_t;
831 <h3 class=
"typedef"><a name=
"cups_cut_t">cups_cut_t
</a></h3>
832 <p class=
"description">CutMedia attribute values
</p>
834 typedef enum
<a href=
"#cups_cut_e">cups_cut_e
</a> cups_cut_t;
836 <h3 class=
"typedef"><a name=
"cups_edge_t">cups_edge_t
</a></h3>
837 <p class=
"description">LeadingEdge attribute values
</p>
839 typedef enum
<a href=
"#cups_edge_e">cups_edge_e
</a> cups_edge_t;
841 <h3 class=
"typedef"><a name=
"cups_interpret_cb_t">cups_interpret_cb_t
</a></h3>
842 <p class=
"description">cupsRasterInterpretPPD callback function
</p>
844 typedef int (*cups_interpret_cb_t)(
<a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *header, int preferred_bits);
846 <h3 class=
"typedef"><a name=
"cups_jog_t">cups_jog_t
</a></h3>
847 <p class=
"description">Jog attribute values
</p>
849 typedef enum
<a href=
"#cups_jog_e">cups_jog_e
</a> cups_jog_t;
851 <h3 class=
"typedef"><a name=
"cups_mode_t">cups_mode_t
</a></h3>
852 <p class=
"description">cupsRasterOpen modes
</p>
854 typedef enum
<a href=
"#cups_mode_e">cups_mode_e
</a> cups_mode_t;
856 <h3 class=
"typedef"><a name=
"cups_order_t">cups_order_t
</a></h3>
857 <p class=
"description">cupsColorOrder attribute values
</p>
859 typedef enum
<a href=
"#cups_order_e">cups_order_e
</a> cups_order_t;
861 <h3 class=
"typedef"><a name=
"cups_orient_t">cups_orient_t
</a></h3>
862 <p class=
"description">Orientation attribute values
</p>
864 typedef enum
<a href=
"#cups_orient_e">cups_orient_e
</a> cups_orient_t;
866 <h3 class=
"typedef"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cups_page_header2_t">cups_page_header2_t
</a></h3>
867 <p class=
"description">Version
2 page header
</p>
869 typedef struct
<a href=
"#cups_page_header2_s">cups_page_header2_s
</a> cups_page_header2_t;
871 <h3 class=
"typedef"><span class=
"info"> DEPRECATED
</span><a name=
"cups_page_header_t">cups_page_header_t
</a></h3>
872 <p class=
"description">Version
1 page header
</p>
874 typedef struct
<a href=
"#cups_page_header_s">cups_page_header_s
</a> cups_page_header_t;
876 <h3 class=
"typedef"><a name=
"cups_raster_t">cups_raster_t
</a></h3>
877 <p class=
"description">Raster stream data
</p>
879 typedef struct _cups_raster_s cups_raster_t;
881 <h2 class=
"title"><a name=
"STRUCTURES">Structures
</a></h2>
882 <h3 class=
"struct"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cups_page_header2_s">cups_page_header2_s
</a></h3>
883 <p class=
"description">Version
2 page header
</p>
884 <p class=
"code">struct cups_page_header2_s {
<br>
885 unsigned AdvanceDistance;
<br>
886 <a href=
"#cups_adv_t">cups_adv_t
</a> AdvanceMedia;
<br>
887 <a href=
"#cups_bool_t">cups_bool_t
</a> Collate;
<br>
888 <a href=
"#cups_cut_t">cups_cut_t
</a> CutMedia;
<br>
889 <a href=
"#cups_bool_t">cups_bool_t
</a> Duplex;
<br>
890 unsigned HWResolution[
2];
<br>
891 unsigned ImagingBoundingBox[
4];
<br>
892 <a href=
"#cups_bool_t">cups_bool_t
</a> InsertSheet;
<br>
893 <a href=
"#cups_jog_t">cups_jog_t
</a> Jog;
<br>
894 <a href=
"#cups_edge_t">cups_edge_t
</a> LeadingEdge;
<br>
895 <a href=
"#cups_bool_t">cups_bool_t
</a> ManualFeed;
<br>
896 unsigned Margins[
2];
<br>
897 char MediaClass[
64];
<br>
898 char MediaColor[
64];
<br>
899 unsigned MediaPosition;
<br>
900 char MediaType[
64];
<br>
901 unsigned MediaWeight;
<br>
902 <a href=
"#cups_bool_t">cups_bool_t
</a> MirrorPrint;
<br>
903 <a href=
"#cups_bool_t">cups_bool_t
</a> NegativePrint;
<br>
904 unsigned NumCopies;
<br>
905 <a href=
"#cups_orient_t">cups_orient_t
</a> Orientation;
<br>
906 <a href=
"#cups_bool_t">cups_bool_t
</a> OutputFaceUp;
<br>
907 char OutputType[
64];
<br>
908 unsigned PageSize[
2];
<br>
909 <a href=
"#cups_bool_t">cups_bool_t
</a> Separations;
<br>
910 <a href=
"#cups_bool_t">cups_bool_t
</a> TraySwitch;
<br>
911 <a href=
"#cups_bool_t">cups_bool_t
</a> Tumble;
<br>
912 unsigned cupsBitsPerColor;
<br>
913 unsigned cupsBitsPerPixel;
<br>
914 float cupsBorderlessScalingFactor;
<br>
915 unsigned cupsBytesPerLine;
<br>
916 <a href=
"#cups_order_t">cups_order_t
</a> cupsColorOrder;
<br>
917 <a href=
"#cups_cspace_t">cups_cspace_t
</a> cupsColorSpace;
<br>
918 unsigned cupsCompression;
<br>
919 unsigned cupsHeight;
<br>
920 float cupsImagingBBox[
4];
<br>
921 unsigned cupsInteger[
16];
<br>
922 char cupsMarkerType[
64];
<br>
923 unsigned cupsMediaType;
<br>
924 unsigned cupsNumColors;
<br>
925 char cupsPageSizeName[
64];
<br>
926 float cupsPageSize[
2];
<br>
927 float cupsReal[
16];
<br>
928 char cupsRenderingIntent[
64];
<br>
929 unsigned cupsRowCount;
<br>
930 unsigned cupsRowFeed;
<br>
931 unsigned cupsRowStep;
<br>
932 char cupsString[
16][
64];
<br>
933 unsigned cupsWidth;
<br>
935 <h4 class=
"members">Members
</h4>
937 <dt>AdvanceDistance
</dt>
938 <dd class=
"description">AdvanceDistance value in points
</dd>
939 <dt>AdvanceMedia
</dt>
940 <dd class=
"description">AdvanceMedia value (
<a href=
"#cups_adv_t"><code>cups_adv_t
</code></a>)
</dd>
942 <dd class=
"description">Collated copies value
</dd>
944 <dd class=
"description">CutMedia value (
<a href=
"#cups_cut_t"><code>cups_cut_t
</code></a>)
</dd>
946 <dd class=
"description">Duplexed (double-sided) value
</dd>
947 <dt>HWResolution[
2]
</dt>
948 <dd class=
"description">Resolution in dots-per-inch
</dd>
949 <dt>ImagingBoundingBox[
4]
</dt>
950 <dd class=
"description">Pixel region that is painted (points, left, bottom, right, top)
</dd>
951 <dt>InsertSheet
</dt>
952 <dd class=
"description">InsertSheet value
</dd>
954 <dd class=
"description">Jog value (
<a href=
"#cups_jog_t"><code>cups_jog_t
</code></a>)
</dd>
955 <dt>LeadingEdge
</dt>
956 <dd class=
"description">LeadingEdge value (
<a href=
"#cups_edge_t"><code>cups_edge_t
</code></a>)
</dd>
958 <dd class=
"description">ManualFeed value
</dd>
960 <dd class=
"description">Lower-lefthand margins in points
</dd>
961 <dt>MediaClass[
64]
</dt>
962 <dd class=
"description">MediaClass string
</dd>
963 <dt>MediaColor[
64]
</dt>
964 <dd class=
"description">MediaColor string
</dd>
965 <dt>MediaPosition
</dt>
966 <dd class=
"description">MediaPosition value
</dd>
967 <dt>MediaType[
64]
</dt>
968 <dd class=
"description">MediaType string
</dd>
969 <dt>MediaWeight
</dt>
970 <dd class=
"description">MediaWeight value in grams/m^
2</dd>
971 <dt>MirrorPrint
</dt>
972 <dd class=
"description">MirrorPrint value
</dd>
973 <dt>NegativePrint
</dt>
974 <dd class=
"description">NegativePrint value
</dd>
976 <dd class=
"description">Number of copies to produce
</dd>
977 <dt>Orientation
</dt>
978 <dd class=
"description">Orientation value (
<a href=
"#cups_orient_t"><code>cups_orient_t
</code></a>)
</dd>
979 <dt>OutputFaceUp
</dt>
980 <dd class=
"description">OutputFaceUp value
</dd>
981 <dt>OutputType[
64]
</dt>
982 <dd class=
"description">OutputType string
</dd>
983 <dt>PageSize[
2]
</dt>
984 <dd class=
"description">Width and length of page in points
</dd>
985 <dt>Separations
</dt>
986 <dd class=
"description">Separations value
</dd>
988 <dd class=
"description">TraySwitch value
</dd>
990 <dd class=
"description">Tumble value
</dd>
991 <dt>cupsBitsPerColor
</dt>
992 <dd class=
"description">Number of bits for each color
</dd>
993 <dt>cupsBitsPerPixel
</dt>
994 <dd class=
"description">Number of bits for each pixel
</dd>
995 <dt>cupsBorderlessScalingFactor
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
996 <dd class=
"description">Scaling that was applied to page data
</dd>
997 <dt>cupsBytesPerLine
</dt>
998 <dd class=
"description">Number of bytes per line
</dd>
999 <dt>cupsColorOrder
</dt>
1000 <dd class=
"description">Order of colors
</dd>
1001 <dt>cupsColorSpace
</dt>
1002 <dd class=
"description">True colorspace
</dd>
1003 <dt>cupsCompression
</dt>
1004 <dd class=
"description">Device compression to use
</dd>
1005 <dt>cupsHeight
</dt>
1006 <dd class=
"description">Height of page image in pixels
</dd>
1007 <dt>cupsImagingBBox[
4]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1008 <dd class=
"description">Floating point ImagingBoundingBox
1009 (scaling factor not applied, left,
1010 bottom, right, top)
</dd>
1011 <dt>cupsInteger[
16]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1012 <dd class=
"description">User-defined integer values
</dd>
1013 <dt>cupsMarkerType[
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1014 <dd class=
"description">Ink/toner type
</dd>
1015 <dt>cupsMediaType
</dt>
1016 <dd class=
"description">Media type code
</dd>
1017 <dt>cupsNumColors
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1018 <dd class=
"description">Number of color compoents
</dd>
1019 <dt>cupsPageSizeName[
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1020 <dd class=
"description">PageSize name
</dd>
1021 <dt>cupsPageSize[
2]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1022 <dd class=
"description">Floating point PageSize (scaling *
1023 factor not applied)
</dd>
1024 <dt>cupsReal[
16]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1025 <dd class=
"description">User-defined floating-point values
</dd>
1026 <dt>cupsRenderingIntent[
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1027 <dd class=
"description">Color rendering intent
</dd>
1028 <dt>cupsRowCount
</dt>
1029 <dd class=
"description">Rows per band
</dd>
1030 <dt>cupsRowFeed
</dt>
1031 <dd class=
"description">Feed between bands
</dd>
1032 <dt>cupsRowStep
</dt>
1033 <dd class=
"description">Spacing between lines
</dd>
1034 <dt>cupsString[
16][
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1035 <dd class=
"description">User-defined string values
</dd>
1037 <dd class=
"description">Width of page image in pixels
</dd>
1039 <h3 class=
"struct"><span class=
"info"> DEPRECATED
</span><a name=
"cups_page_header_s">cups_page_header_s
</a></h3>
1040 <p class=
"description">Version
1 page header
</p>
1041 <p class=
"code">struct cups_page_header_s {
<br>
1042 unsigned AdvanceDistance;
<br>
1043 <a href=
"#cups_adv_t">cups_adv_t
</a> AdvanceMedia;
<br>
1044 <a href=
"#cups_bool_t">cups_bool_t
</a> Collate;
<br>
1045 <a href=
"#cups_cut_t">cups_cut_t
</a> CutMedia;
<br>
1046 <a href=
"#cups_bool_t">cups_bool_t
</a> Duplex;
<br>
1047 unsigned HWResolution[
2];
<br>
1048 unsigned ImagingBoundingBox[
4];
<br>
1049 <a href=
"#cups_bool_t">cups_bool_t
</a> InsertSheet;
<br>
1050 <a href=
"#cups_jog_t">cups_jog_t
</a> Jog;
<br>
1051 <a href=
"#cups_edge_t">cups_edge_t
</a> LeadingEdge;
<br>
1052 <a href=
"#cups_bool_t">cups_bool_t
</a> ManualFeed;
<br>
1053 unsigned Margins[
2];
<br>
1054 char MediaClass[
64];
<br>
1055 char MediaColor[
64];
<br>
1056 unsigned MediaPosition;
<br>
1057 char MediaType[
64];
<br>
1058 unsigned MediaWeight;
<br>
1059 <a href=
"#cups_bool_t">cups_bool_t
</a> MirrorPrint;
<br>
1060 <a href=
"#cups_bool_t">cups_bool_t
</a> NegativePrint;
<br>
1061 unsigned NumCopies;
<br>
1062 <a href=
"#cups_orient_t">cups_orient_t
</a> Orientation;
<br>
1063 <a href=
"#cups_bool_t">cups_bool_t
</a> OutputFaceUp;
<br>
1064 char OutputType[
64];
<br>
1065 unsigned PageSize[
2];
<br>
1066 <a href=
"#cups_bool_t">cups_bool_t
</a> Separations;
<br>
1067 <a href=
"#cups_bool_t">cups_bool_t
</a> TraySwitch;
<br>
1068 <a href=
"#cups_bool_t">cups_bool_t
</a> Tumble;
<br>
1069 unsigned cupsBitsPerColor;
<br>
1070 unsigned cupsBitsPerPixel;
<br>
1071 unsigned cupsBytesPerLine;
<br>
1072 <a href=
"#cups_order_t">cups_order_t
</a> cupsColorOrder;
<br>
1073 <a href=
"#cups_cspace_t">cups_cspace_t
</a> cupsColorSpace;
<br>
1074 unsigned cupsCompression;
<br>
1075 unsigned cupsHeight;
<br>
1076 unsigned cupsMediaType;
<br>
1077 unsigned cupsRowCount;
<br>
1078 unsigned cupsRowFeed;
<br>
1079 unsigned cupsRowStep;
<br>
1080 unsigned cupsWidth;
<br>
1082 <h4 class=
"members">Members
</h4>
1084 <dt>AdvanceDistance
</dt>
1085 <dd class=
"description">AdvanceDistance value in points
</dd>
1086 <dt>AdvanceMedia
</dt>
1087 <dd class=
"description">AdvanceMedia value (
<a href=
"#cups_adv_t"><code>cups_adv_t
</code></a>)
</dd>
1089 <dd class=
"description">Collated copies value
</dd>
1091 <dd class=
"description">CutMedia value (
<a href=
"#cups_cut_t"><code>cups_cut_t
</code></a>)
</dd>
1093 <dd class=
"description">Duplexed (double-sided) value
</dd>
1094 <dt>HWResolution[
2]
</dt>
1095 <dd class=
"description">Resolution in dots-per-inch
</dd>
1096 <dt>ImagingBoundingBox[
4]
</dt>
1097 <dd class=
"description">Pixel region that is painted (points, left, bottom, right, top)
</dd>
1098 <dt>InsertSheet
</dt>
1099 <dd class=
"description">InsertSheet value
</dd>
1101 <dd class=
"description">Jog value (
<a href=
"#cups_jog_t"><code>cups_jog_t
</code></a>)
</dd>
1102 <dt>LeadingEdge
</dt>
1103 <dd class=
"description">LeadingEdge value (
<a href=
"#cups_edge_t"><code>cups_edge_t
</code></a>)
</dd>
1104 <dt>ManualFeed
</dt>
1105 <dd class=
"description">ManualFeed value
</dd>
1106 <dt>Margins[
2]
</dt>
1107 <dd class=
"description">Lower-lefthand margins in points
</dd>
1108 <dt>MediaClass[
64]
</dt>
1109 <dd class=
"description">MediaClass string
</dd>
1110 <dt>MediaColor[
64]
</dt>
1111 <dd class=
"description">MediaColor string
</dd>
1112 <dt>MediaPosition
</dt>
1113 <dd class=
"description">MediaPosition value
</dd>
1114 <dt>MediaType[
64]
</dt>
1115 <dd class=
"description">MediaType string
</dd>
1116 <dt>MediaWeight
</dt>
1117 <dd class=
"description">MediaWeight value in grams/m^
2</dd>
1118 <dt>MirrorPrint
</dt>
1119 <dd class=
"description">MirrorPrint value
</dd>
1120 <dt>NegativePrint
</dt>
1121 <dd class=
"description">NegativePrint value
</dd>
1123 <dd class=
"description">Number of copies to produce
</dd>
1124 <dt>Orientation
</dt>
1125 <dd class=
"description">Orientation value (
<a href=
"#cups_orient_t"><code>cups_orient_t
</code></a>)
</dd>
1126 <dt>OutputFaceUp
</dt>
1127 <dd class=
"description">OutputFaceUp value
</dd>
1128 <dt>OutputType[
64]
</dt>
1129 <dd class=
"description">OutputType string
</dd>
1130 <dt>PageSize[
2]
</dt>
1131 <dd class=
"description">Width and length of page in points
</dd>
1132 <dt>Separations
</dt>
1133 <dd class=
"description">Separations value
</dd>
1134 <dt>TraySwitch
</dt>
1135 <dd class=
"description">TraySwitch value
</dd>
1137 <dd class=
"description">Tumble value
</dd>
1138 <dt>cupsBitsPerColor
</dt>
1139 <dd class=
"description">Number of bits for each color
</dd>
1140 <dt>cupsBitsPerPixel
</dt>
1141 <dd class=
"description">Number of bits for each pixel
</dd>
1142 <dt>cupsBytesPerLine
</dt>
1143 <dd class=
"description">Number of bytes per line
</dd>
1144 <dt>cupsColorOrder
</dt>
1145 <dd class=
"description">Order of colors
</dd>
1146 <dt>cupsColorSpace
</dt>
1147 <dd class=
"description">True colorspace
</dd>
1148 <dt>cupsCompression
</dt>
1149 <dd class=
"description">Device compression to use
</dd>
1150 <dt>cupsHeight
</dt>
1151 <dd class=
"description">Height of page image in pixels
</dd>
1152 <dt>cupsMediaType
</dt>
1153 <dd class=
"description">Media type code
</dd>
1154 <dt>cupsRowCount
</dt>
1155 <dd class=
"description">Rows per band
</dd>
1156 <dt>cupsRowFeed
</dt>
1157 <dd class=
"description">Feed between bands
</dd>
1158 <dt>cupsRowStep
</dt>
1159 <dd class=
"description">Spacing between lines
</dd>
1161 <dd class=
"description">Width of page image in pixels
</dd>
1163 <h2 class=
"title"><a name=
"ENUMERATIONS">Constants
</a></h2>
1164 <h3 class=
"enumeration"><a name=
"cups_adv_e">cups_adv_e
</a></h3>
1165 <p class=
"description">AdvanceMedia attribute values
</p>
1166 <h4 class=
"constants">Constants
</h4>
1168 <dt>CUPS_ADVANCE_FILE
</dt>
1169 <dd class=
"description">Advance the roll after this file
</dd>
1170 <dt>CUPS_ADVANCE_JOB
</dt>
1171 <dd class=
"description">Advance the roll after this job
</dd>
1172 <dt>CUPS_ADVANCE_NONE
</dt>
1173 <dd class=
"description">Never advance the roll
</dd>
1174 <dt>CUPS_ADVANCE_PAGE
</dt>
1175 <dd class=
"description">Advance the roll after this page
</dd>
1176 <dt>CUPS_ADVANCE_SET
</dt>
1177 <dd class=
"description">Advance the roll after this set
</dd>
1179 <h3 class=
"enumeration"><a name=
"cups_bool_e">cups_bool_e
</a></h3>
1180 <p class=
"description">Boolean type
</p>
1181 <h4 class=
"constants">Constants
</h4>
1183 <dt>CUPS_FALSE
</dt>
1184 <dd class=
"description">Logical false
</dd>
1186 <dd class=
"description">Logical true
</dd>
1188 <h3 class=
"enumeration"><a name=
"cups_cspace_e">cups_cspace_e
</a></h3>
1189 <p class=
"description">cupsColorSpace attribute values
</p>
1190 <h4 class=
"constants">Constants
</h4>
1192 <dt>CUPS_CSPACE_ADOBERGB
<span class=
"info"> CUPS
1.4.5 </span></dt>
1193 <dd class=
"description">Red, green, blue (Adobe RGB)
</dd>
1194 <dt>CUPS_CSPACE_CIELab
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1195 <dd class=
"description">CIE Lab
</dd>
1196 <dt>CUPS_CSPACE_CIEXYZ
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1197 <dd class=
"description">CIE XYZ
</dd>
1198 <dt>CUPS_CSPACE_CMY
</dt>
1199 <dd class=
"description">Cyan, magenta, yellow (DeviceCMY)
</dd>
1200 <dt>CUPS_CSPACE_CMYK
</dt>
1201 <dd class=
"description">Cyan, magenta, yellow, black (DeviceCMYK)
</dd>
1202 <dt>CUPS_CSPACE_DEVICE1
<span class=
"info"> CUPS
1.4.5 </span></dt>
1203 <dd class=
"description">DeviceN,
1 color
</dd>
1204 <dt>CUPS_CSPACE_DEVICE2
<span class=
"info"> CUPS
1.4.5 </span></dt>
1205 <dd class=
"description">DeviceN,
2 colors
</dd>
1206 <dt>CUPS_CSPACE_DEVICE3
<span class=
"info"> CUPS
1.4.5 </span></dt>
1207 <dd class=
"description">DeviceN,
3 colors
</dd>
1208 <dt>CUPS_CSPACE_DEVICE4
<span class=
"info"> CUPS
1.4.5 </span></dt>
1209 <dd class=
"description">DeviceN,
4 colors
</dd>
1210 <dt>CUPS_CSPACE_DEVICE5
<span class=
"info"> CUPS
1.4.5 </span></dt>
1211 <dd class=
"description">DeviceN,
5 colors
</dd>
1212 <dt>CUPS_CSPACE_DEVICE6
<span class=
"info"> CUPS
1.4.5 </span></dt>
1213 <dd class=
"description">DeviceN,
6 colors
</dd>
1214 <dt>CUPS_CSPACE_DEVICE7
<span class=
"info"> CUPS
1.4.5 </span></dt>
1215 <dd class=
"description">DeviceN,
7 colors
</dd>
1216 <dt>CUPS_CSPACE_DEVICE8
<span class=
"info"> CUPS
1.4.5 </span></dt>
1217 <dd class=
"description">DeviceN,
8 colors
</dd>
1218 <dt>CUPS_CSPACE_DEVICE9
<span class=
"info"> CUPS
1.4.5 </span></dt>
1219 <dd class=
"description">DeviceN,
9 colors
</dd>
1220 <dt>CUPS_CSPACE_DEVICEA
<span class=
"info"> CUPS
1.4.5 </span></dt>
1221 <dd class=
"description">DeviceN,
10 colors
</dd>
1222 <dt>CUPS_CSPACE_DEVICEB
<span class=
"info"> CUPS
1.4.5 </span></dt>
1223 <dd class=
"description">DeviceN,
11 colors
</dd>
1224 <dt>CUPS_CSPACE_DEVICEC
<span class=
"info"> CUPS
1.4.5 </span></dt>
1225 <dd class=
"description">DeviceN,
12 colors
</dd>
1226 <dt>CUPS_CSPACE_DEVICED
<span class=
"info"> CUPS
1.4.5 </span></dt>
1227 <dd class=
"description">DeviceN,
13 colors
</dd>
1228 <dt>CUPS_CSPACE_DEVICEE
<span class=
"info"> CUPS
1.4.5 </span></dt>
1229 <dd class=
"description">DeviceN,
14 colors
</dd>
1230 <dt>CUPS_CSPACE_DEVICEF
<span class=
"info"> CUPS
1.4.5 </span></dt>
1231 <dd class=
"description">DeviceN,
15 colors
</dd>
1232 <dt>CUPS_CSPACE_GMCK
<span class=
"info"> DEPRECATED
</span></dt>
1233 <dd class=
"description">Gold, magenta, yellow, black
</dd>
1234 <dt>CUPS_CSPACE_GMCS
<span class=
"info"> DEPRECATED
</span></dt>
1235 <dd class=
"description">Gold, magenta, yellow, silver
</dd>
1236 <dt>CUPS_CSPACE_GOLD
<span class=
"info"> DEPRECATED
</span></dt>
1237 <dd class=
"description">Gold foil
</dd>
1238 <dt>CUPS_CSPACE_ICC1
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1239 <dd class=
"description">ICC-based,
1 color
</dd>
1240 <dt>CUPS_CSPACE_ICC2
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1241 <dd class=
"description">ICC-based,
2 colors
</dd>
1242 <dt>CUPS_CSPACE_ICC3
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1243 <dd class=
"description">ICC-based,
3 colors
</dd>
1244 <dt>CUPS_CSPACE_ICC4
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1245 <dd class=
"description">ICC-based,
4 colors
</dd>
1246 <dt>CUPS_CSPACE_ICC5
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1247 <dd class=
"description">ICC-based,
5 colors
</dd>
1248 <dt>CUPS_CSPACE_ICC6
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1249 <dd class=
"description">ICC-based,
6 colors
</dd>
1250 <dt>CUPS_CSPACE_ICC7
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1251 <dd class=
"description">ICC-based,
7 colors
</dd>
1252 <dt>CUPS_CSPACE_ICC8
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1253 <dd class=
"description">ICC-based,
8 colors
</dd>
1254 <dt>CUPS_CSPACE_ICC9
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1255 <dd class=
"description">ICC-based,
9 colors
</dd>
1256 <dt>CUPS_CSPACE_ICCA
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1257 <dd class=
"description">ICC-based,
10 colors
</dd>
1258 <dt>CUPS_CSPACE_ICCB
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1259 <dd class=
"description">ICC-based,
11 colors
</dd>
1260 <dt>CUPS_CSPACE_ICCC
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1261 <dd class=
"description">ICC-based,
12 colors
</dd>
1262 <dt>CUPS_CSPACE_ICCD
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1263 <dd class=
"description">ICC-based,
13 colors
</dd>
1264 <dt>CUPS_CSPACE_ICCE
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1265 <dd class=
"description">ICC-based,
14 colors
</dd>
1266 <dt>CUPS_CSPACE_ICCF
<span class=
"info"> CUPS
1.1.19/Mac OS X
10.3 </span></dt>
1267 <dd class=
"description">ICC-based,
15 colors
</dd>
1268 <dt>CUPS_CSPACE_K
</dt>
1269 <dd class=
"description">Black (DeviceK)
</dd>
1270 <dt>CUPS_CSPACE_KCMY
<span class=
"info"> DEPRECATED
</span></dt>
1271 <dd class=
"description">Black, cyan, magenta, yellow
</dd>
1272 <dt>CUPS_CSPACE_KCMYcm
<span class=
"info"> DEPRECATED
</span></dt>
1273 <dd class=
"description">Black, cyan, magenta, yellow, light-cyan, light-magenta
</dd>
1274 <dt>CUPS_CSPACE_RGB
</dt>
1275 <dd class=
"description">Red, green, blue (DeviceRGB, sRGB by default)
</dd>
1276 <dt>CUPS_CSPACE_RGBA
</dt>
1277 <dd class=
"description">Red, green, blue, alpha (DeviceRGB, sRGB by default)
</dd>
1278 <dt>CUPS_CSPACE_RGBW
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1279 <dd class=
"description">Red, green, blue, white (DeviceRGB, sRGB by default)
</dd>
1280 <dt>CUPS_CSPACE_SILVER
<span class=
"info"> DEPRECATED
</span></dt>
1281 <dd class=
"description">Silver foil
</dd>
1282 <dt>CUPS_CSPACE_SRGB
<span class=
"info"> CUPS
1.4.5 </span></dt>
1283 <dd class=
"description">Red, green, blue (sRGB)
</dd>
1284 <dt>CUPS_CSPACE_SW
<span class=
"info"> CUPS
1.4.5 </span></dt>
1285 <dd class=
"description">Luminance (gamma
2.2)
</dd>
1286 <dt>CUPS_CSPACE_W
</dt>
1287 <dd class=
"description">Luminance (DeviceGray, gamma
2.2 by default)
</dd>
1288 <dt>CUPS_CSPACE_WHITE
<span class=
"info"> DEPRECATED
</span></dt>
1289 <dd class=
"description">White ink (as black)
</dd>
1290 <dt>CUPS_CSPACE_YMC
<span class=
"info"> DEPRECATED
</span></dt>
1291 <dd class=
"description">Yellow, magenta, cyan
</dd>
1292 <dt>CUPS_CSPACE_YMCK
<span class=
"info"> DEPRECATED
</span></dt>
1293 <dd class=
"description">Yellow, magenta, cyan, black
</dd>
1295 <h3 class=
"enumeration"><a name=
"cups_cut_e">cups_cut_e
</a></h3>
1296 <p class=
"description">CutMedia attribute values
</p>
1297 <h4 class=
"constants">Constants
</h4>
1299 <dt>CUPS_CUT_FILE
</dt>
1300 <dd class=
"description">Cut the roll after this file
</dd>
1301 <dt>CUPS_CUT_JOB
</dt>
1302 <dd class=
"description">Cut the roll after this job
</dd>
1303 <dt>CUPS_CUT_NONE
</dt>
1304 <dd class=
"description">Never cut the roll
</dd>
1305 <dt>CUPS_CUT_PAGE
</dt>
1306 <dd class=
"description">Cut the roll after this page
</dd>
1307 <dt>CUPS_CUT_SET
</dt>
1308 <dd class=
"description">Cut the roll after this set
</dd>
1310 <h3 class=
"enumeration"><a name=
"cups_edge_e">cups_edge_e
</a></h3>
1311 <p class=
"description">LeadingEdge attribute values
</p>
1312 <h4 class=
"constants">Constants
</h4>
1314 <dt>CUPS_EDGE_BOTTOM
</dt>
1315 <dd class=
"description">Leading edge is the bottom of the page
</dd>
1316 <dt>CUPS_EDGE_LEFT
</dt>
1317 <dd class=
"description">Leading edge is the left of the page
</dd>
1318 <dt>CUPS_EDGE_RIGHT
</dt>
1319 <dd class=
"description">Leading edge is the right of the page
</dd>
1320 <dt>CUPS_EDGE_TOP
</dt>
1321 <dd class=
"description">Leading edge is the top of the page
</dd>
1323 <h3 class=
"enumeration"><a name=
"cups_jog_e">cups_jog_e
</a></h3>
1324 <p class=
"description">Jog attribute values
</p>
1325 <h4 class=
"constants">Constants
</h4>
1327 <dt>CUPS_JOG_FILE
</dt>
1328 <dd class=
"description">Move pages after this file
</dd>
1329 <dt>CUPS_JOG_JOB
</dt>
1330 <dd class=
"description">Move pages after this job
</dd>
1331 <dt>CUPS_JOG_NONE
</dt>
1332 <dd class=
"description">Never move pages
</dd>
1333 <dt>CUPS_JOG_SET
</dt>
1334 <dd class=
"description">Move pages after this set
</dd>
1336 <h3 class=
"enumeration"><a name=
"cups_mode_e">cups_mode_e
</a></h3>
1337 <p class=
"description">cupsRasterOpen modes
</p>
1338 <h4 class=
"constants">Constants
</h4>
1340 <dt>CUPS_RASTER_READ
</dt>
1341 <dd class=
"description">Open stream for reading
</dd>
1342 <dt>CUPS_RASTER_WRITE
</dt>
1343 <dd class=
"description">Open stream for writing
</dd>
1344 <dt>CUPS_RASTER_WRITE_COMPRESSED
<span class=
"info"> CUPS
1.3/Mac OS X
10.5 </span></dt>
1345 <dd class=
"description">Open stream for compressed writing
</dd>
1347 <h3 class=
"enumeration"><a name=
"cups_order_e">cups_order_e
</a></h3>
1348 <p class=
"description">cupsColorOrder attribute values
</p>
1349 <h4 class=
"constants">Constants
</h4>
1351 <dt>CUPS_ORDER_BANDED
</dt>
1352 <dd class=
"description">CCC MMM YYY KKK ...
</dd>
1353 <dt>CUPS_ORDER_CHUNKED
</dt>
1354 <dd class=
"description">CMYK CMYK CMYK ...
</dd>
1355 <dt>CUPS_ORDER_PLANAR
</dt>
1356 <dd class=
"description">CCC ... MMM ... YYY ... KKK ...
</dd>
1358 <h3 class=
"enumeration"><a name=
"cups_orient_e">cups_orient_e
</a></h3>
1359 <p class=
"description">Orientation attribute values
</p>
1360 <h4 class=
"constants">Constants
</h4>
1362 <dt>CUPS_ORIENT_0
</dt>
1363 <dd class=
"description">Don't rotate the page
</dd>
1364 <dt>CUPS_ORIENT_180
</dt>
1365 <dd class=
"description">Turn the page upside down
</dd>
1366 <dt>CUPS_ORIENT_270
</dt>
1367 <dd class=
"description">Rotate the page clockwise
</dd>
1368 <dt>CUPS_ORIENT_90
</dt>
1369 <dd class=
"description">Rotate the page counter-clockwise
</dd>