1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
3 <!-- SECTION: Programming -->
5 <title>Raster API
</title>
6 <meta name=
"keywords" content=
"Programming">
7 <meta name=
"creator" content=
"Mini-XML v2.6">
8 <style type=
"text/css"><!--
10 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
13 H1, H2, H3, H4, H5, H6, P, TD, TH {
14 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
18 font-family: monaco, courier, monospace;
23 font-family: monaco, courier, monospace;
37 border: dotted thin #999999;
42 PRE.command EM, PRE.example EM {
43 font-family: lucida grande, geneva, helvetica, arial, sans-serif;
47 font-family: monaco, courier, monospace;
58 border: solid thin #999999;
69 -moz-border-radius: 10px;
74 text-decoration: none;
77 A:link:hover, A:visited:hover, A:active {
78 text-decoration: underline;
85 TR.data, TD.data, TR.data TD {
88 border-bottom: solid 1pt #999999;
92 border-bottom: solid 1pt #999999;
99 border: solid thin #999999;
100 border-collapse: collapse;
116 border: solid thin #cccccc;
123 border-bottom: solid thin #999999;
132 caption-side: bottom;
156 border: thin solid black;
164 H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
170 border-bottom: solid 2pt #000000;
173 DIV.indent, TABLE.indent {
181 border-collapse: collapse;
184 TABLE.indent TD, TABLE.indent TH {
189 border-collapse: collapse;
197 border-bottom: solid thin #cccccc;
202 vertical-align: bottom;
211 border-bottom: solid thin #eeeeee;
216 TABLE.list TR:nth-child(even) {
220 TABLE.list TR:nth-child(odd) {
239 font-family: monaco, courier, monospace;
243 border: solid thin #999999;
244 border-collapse: collapse;
249 DIV.summary TABLE TD, DIV.summary TABLE TH {
250 border: solid thin #999999;
256 DIV.summary TABLE THEAD TH {
260 /* API documentation styles... */
267 div.body h3, div.body h4, div.body h5 {
268 margin-bottom: 0.5em;
271 .class, .enumeration, .function, .struct, .typedef, .union {
272 border-bottom: solid thin #999999;
279 code, p.code, pre, ul.code li {
280 font-family: monaco, courier, monospace;
283 ul.code, ul.contents, ul.subcontents {
284 list-style-type: none;
294 ul.contents li ul.code, ul.contents li ul.subcontents {
307 margin-bottom: 0.5em;
310 /* This is just for the HTML files generated with the framedhelp target */
313 border: solid thin black;
322 div.contents ul.contents {
325 div.contents ul.subcontents li {
336 Raster API header for the Common UNIX Printing System (CUPS).
338 Copyright 2008 by Apple Inc.
340 These coded instructions, statements, and computer programs are the
341 property of Apple Inc. and are protected by Federal copyright
342 law. Distribution and use rights are outlined in the file "LICENSE.txt"
343 which should have been included with this file. If this file is
344 file is missing or damaged, see the license at "http://www.cups.org/".
347 <div class='summary'
><table summary='General Information'
>
351 <th>cups/raster.h
</th>
361 <td>Programming:
<a href='api-overview.html'
>Introduction to CUPS Programming
</a><br>
362 Programming:
<a href='api-cups.html'
>CUPS API
</a><br>
363 Programming:
<a href='api-cups.html'
>PPD API
</a><br>
364 References:
<a href='spec-ppd.html'
>CUPS PPD Specification
</a></td>
368 <h2 class=
"title">Contents
</h2>
369 <ul class=
"contents">
370 <li><a href=
"#OVERVIEW">Overview
</a></li>
371 <li><a href=
"#TASKS">Functions by Task
</a><ul class=
"subcontents">
372 <li><a href=
"#OPENCLOSE">Opening and Closing Raster Streams
</a></li>
373 <li><a href=
"#READING">Reading Raster Streams
</a></li>
374 <li><a href=
"#WRITING">Writing Raster Streams
</a></li>
376 <li><a href=
"#FUNCTIONS">Functions
</a><ul class=
"code">
377 <li><a href=
"#cupsRasterClose" title=
"Close a raster stream.">cupsRasterClose
</a></li>
378 <li><a href=
"#cupsRasterInterpretPPD" title=
"Interpret PPD commands to create a page header.">cupsRasterInterpretPPD
</a></li>
379 <li><a href=
"#cupsRasterOpen" title=
"Open a raster stream.">cupsRasterOpen
</a></li>
380 <li><a href=
"#cupsRasterReadHeader" title=
"Read a raster page header and store it in a
381 version 1 page header structure.">cupsRasterReadHeader
</a></li>
382 <li><a href=
"#cupsRasterReadHeader2" title=
"Read a raster page header and store it in a
383 version 2 page header structure.">cupsRasterReadHeader2
</a></li>
384 <li><a href=
"#cupsRasterReadPixels" title=
"Read raster pixels.">cupsRasterReadPixels
</a></li>
385 <li><a href=
"#cupsRasterWriteHeader" title=
"Write a raster page header from a version 1 page
386 header structure.">cupsRasterWriteHeader
</a></li>
387 <li><a href=
"#cupsRasterWriteHeader2" title=
"Write a raster page header from a version 2
388 page header structure.">cupsRasterWriteHeader2
</a></li>
389 <li><a href=
"#cupsRasterWritePixels" title=
"Write raster pixels.">cupsRasterWritePixels
</a></li>
391 <li><a href=
"#TYPES">Data Types
</a><ul class=
"code">
392 <li><a href=
"#cups_adv_t" title=
"AdvanceMedia attribute values">cups_adv_t
</a></li>
393 <li><a href=
"#cups_bool_t" title=
"Types...">cups_bool_t
</a></li>
394 <li><a href=
"#cups_cspace_t" title=
"CutMedia attribute values">cups_cspace_t
</a></li>
395 <li><a href=
"#cups_cut_t" title=
"LeadingEdge attribute values">cups_cut_t
</a></li>
396 <li><a href=
"#cups_edge_t" title=
"Jog attribute values">cups_edge_t
</a></li>
397 <li><a href=
"#cups_interpret_cb_t" title=
"cupsRasterInterpretPPD callback function">cups_interpret_cb_t
</a></li>
398 <li><a href=
"#cups_jog_t" title=
"cupsRasterOpen modes">cups_jog_t
</a></li>
399 <li><a href=
"#cups_mode_t" title=
"cupsRasterOpen modes">cups_mode_t
</a></li>
400 <li><a href=
"#cups_order_t" title=
"cupsColorOrder attribute values">cups_order_t
</a></li>
401 <li><a href=
"#cups_orient_t" title=
"The page header structure contains the standard PostScript page device
402 dictionary, along with some CUPS-specific parameters that are provided
403 by the RIPs...">cups_orient_t
</a></li>
404 <li><a href=
"#cups_page_header2_t" title=
"Version 2 page header ">cups_page_header2_t
</a></li>
405 <li><a href=
"#cups_page_header_t" title=
"Version 1 page header ">cups_page_header_t
</a></li>
406 <li><a href=
"#cups_raster_t" title=
"Raster stream data">cups_raster_t
</a></li>
408 <li><a href=
"#STRUCTURES">Structures
</a><ul class=
"code">
409 <li><a href=
"#cups_page_header2_s" title=
"Version 2 page header ">cups_page_header2_s
</a></li>
410 <li><a href=
"#cups_page_header_s" title=
"Version 1 page header ">cups_page_header_s
</a></li>
412 <li><a href=
"#ENUMERATIONS">Constants
</a><ul class=
"code">
413 <li><a href=
"#cups_adv_e" title=
"AdvanceMedia attribute values">cups_adv_e
</a></li>
414 <li><a href=
"#cups_bool_e" title=
"Types...">cups_bool_e
</a></li>
415 <li><a href=
"#cups_cspace_e" title=
"">cups_cspace_e
</a></li>
416 <li><a href=
"#cups_cut_e" title=
"">cups_cut_e
</a></li>
417 <li><a href=
"#cups_edge_e" title=
"">cups_edge_e
</a></li>
418 <li><a href=
"#cups_jog_e" title=
"">cups_jog_e
</a></li>
419 <li><a href=
"#cups_mode_e" title=
"">cups_mode_e
</a></li>
420 <li><a href=
"#cups_order_e" title=
"cupsColorOrder attribute values">cups_order_e
</a></li>
421 <li><a href=
"#cups_orient_e" title=
"">cups_orient_e
</a></li>
427 Raster API introduction for the Common UNIX Printing System (CUPS).
429 Copyright 2007-2008 by Apple Inc.
430 Copyright 1997-2006 by Easy Software Products, all rights reserved.
432 These coded instructions, statements, and computer programs are the
433 property of Apple Inc. and are protected by Federal copyright
434 law. Distribution and use rights are outlined in the file "LICENSE.txt"
435 which should have been included with this file. If this file is
436 file is missing or damaged, see the license at "http://www.cups.org/".
439 <h2 class='title'
><a name=
"OVERVIEW">Overview
</a></h2>
441 <p>The CUPS raster API provides a standard interface for reading and writing
442 CUPS raster streams which are used for printing to raster printers. Because the
443 raster format is updated from time to time, it is important to use this API to
444 avoid incompatibilities with newer versions of CUPS.
</p>
446 <p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
447 (RIP) filters such as
<code>pstoraster
</code> and
<code>cgpdftoraster
</code>
448 (Mac OS X) that produce CUPS raster files and printer driver filters that
449 convert CUPS raster files into a format usable by the printer. Printer
450 driver filters are by far the most common.
</p>
452 <p>CUPS raster files (
<code>application/vnd.cups-raster
</code>) consists of
453 a stream of raster page descriptions produced by one of the RIP filters such as
454 <var>pstoraster
</var>,
<var>imagetoraster
</var>, or
455 <var>cgpdftoraster
</var>. CUPS raster files are referred to using the
456 <a href='#cups_raster_t'
><code>cups_raster_t
</code></a> type and are
457 opened using the
<a href='#cupsRasterOpen'
><code>cupsRasterOpen
</code></a>
458 function. For example, to read raster data from the standard input, open
459 file descriptor
0:
</p>
461 <pre class=
"example">
462 #include
<cups/raster.h
>>
464 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras =
<a href=
"#cupsRasterOpen">cupsRasterOpen
</a>(
0, CUPS_RASTER_READ);
467 <p>Each page of data begins with a page dictionary structure called
468 <a href=
"#cups_page_header2_t"><code>cups_page_header2_t
</code></a>. This
469 structure contains the colorspace, bits per color, media size, media type,
470 hardware resolution, and so forth used for the page.
</p>
472 <blockquote><b>Note:
</b>
474 <p>Do not confuse the colorspace in the page header with the PPD
475 <tt>ColorModel
</tt> keyword.
<tt>ColorModel
</tt> refers to the general type of
476 color used for a device (Gray, RGB, CMYK, DeviceN) and is often used to
477 select a particular colorspace for the page header along with the associate
478 color profile. The page header colorspace (
<tt>cupsColorSpace
</tt>) describes
479 both the type and organization of the color data, for example KCMY (black
480 first) instead of CMYK and RGBA (RGB + alpha) instead of RGB.
</p>
484 <p>You read the page header using the
485 <a href=
"#cupsRasterReadHeader2"><code>cupsRasterReadHeader2
</code></a>
488 <pre class=
"example">
489 #include
<cups/raster.h
>>
491 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras =
<a href=
"#cupsRasterOpen">cupsRasterOpen
</a>(
0, CUPS_RASTER_READ);
492 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> header;
494 while (
<a href=
"#cupsRasterReadHeader2">cupsRasterReadHeader2
</a>(ras,
&header))
496 /* setup this page */
498 /* read raster data */
500 /* finish this page */
504 <p>After the page dictionary comes the page data which is a full-resolution,
505 possibly compressed bitmap representing the page in the printer's output
506 colorspace. You read uncompressed raster data using the
507 <a href=
"#cupsRasterReadPixels"><code>cupsRasterReadPixels
</code></a>
508 function. A
<code>for
</code> loop is normally used to read the page one line
511 <pre class=
"example">
512 #include
<cups/raster.h
>>
514 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras =
<a href=
"#cupsRasterOpen">cupsRasterOpen
</a>(
0, CUPS_RASTER_READ);
515 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> header;
520 while (
<a href=
"#cupsRasterReadHeader2">cupsRasterReadHeader2
</a>(ras,
&header))
522 /* setup this page */
524 fprintf(stderr,
"PAGE: %d %d\n", page, header.NumCopies);
526 /* allocate memory for
1 line */
527 buffer = malloc(header.cupsBytesPerLine);
529 /* read raster data */
530 for (y =
0; y
< header.cupsHeight; y ++)
532 if (
<a href=
"#cupsRasterReadPixels">cupsRasterReadPixels
</a>(ras, buffer, header.cupsBytesPerLine) ==
0)
535 /* write raster data to printer on stdout */
538 /* finish this page */
542 <p>When you are done reading the raster data, call the
543 <a href=
"#cupsRasterClose"><code>cupsRasterClose
</code></a> function to free
544 the memory used to read the raster file:
</p>
546 <pre class=
"example">
547 <a href=
"#cups_raster_t">cups_raster_t
</a> *ras;
549 <a href=
"#cupsRasterClose">cupsRasterClose
</a>(ras);
553 <h2 class='title'
><a name=
"TASKS">Functions by Task
</a></h2>
555 <h3><a name=
"OPENCLOSE">Opening and Closing Raster Streams
</a></h3>
559 <li><a href=
"#cupsRasterClose" title=
"Close a raster stream.">cupsRasterClose
</a></li>
560 <li><a href=
"#cupsRasterOpen" title=
"Open a raster stream.">cupsRasterOpen
</a></li>
564 <h3><a name=
"READING">Reading Raster Streams
</a></h3>
568 <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>
569 <li><a href=
"#cupsRasterReadHeader2" title=
"Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2
</a></li>
570 <li><a href=
"#cupsRasterReadPixels" title=
"Read raster pixels.">cupsRasterReadPixels
</a></li>
574 <h3><a name=
"WRITING">Writing Raster Streams
</a></h3>
578 <li><a href=
"#cupsRasterInterpretPPD" title=
"Interpret PPD commands to create a page header.">cupsRasterInterpretPPD
</a></li>
579 <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>
580 <li><a href=
"#cupsRasterWriteHeader2" title=
"Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2
</a></li>
581 <li><a href=
"#cupsRasterWritePixels" title=
"Write raster pixels.">cupsRasterWritePixels
</a></li>
584 <h2 class=
"title"><a name=
"FUNCTIONS">Functions
</a></h2>
585 <h3 class=
"function"><a name=
"cupsRasterClose">cupsRasterClose
</a></h3>
586 <p class=
"description">Close a raster stream.
</p>
588 void cupsRasterClose (
<br>
589 <a href=
"#cups_raster_t">cups_raster_t
</a> *r
<br>
591 <h4 class=
"parameters">Parameters
</h4>
594 <dd class=
"description">Stream to close
</dd>
596 <h4 class=
"discussion">Discussion
</h4>
597 <p class=
"discussion">The file descriptor associated with the raster stream must be closed
598 separately as needed.
</p>
599 <h3 class=
"function"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cupsRasterInterpretPPD">cupsRasterInterpretPPD
</a></h3>
600 <p class=
"description">Interpret PPD commands to create a page header.
</p>
602 int cupsRasterInterpretPPD (
<br>
603 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *h,
<br>
604 ppd_file_t *ppd,
<br>
605 int num_options,
<br>
606 cups_option_t *options,
<br>
607 <a href=
"#cups_interpret_cb_t">cups_interpret_cb_t
</a> func
<br>
609 <h4 class=
"parameters">Parameters
</h4>
612 <dd class=
"description">Page header to create
</dd>
614 <dd class=
"description">PPD file
</dd>
616 <dd class=
"description">Number of options
</dd>
618 <dd class=
"description">Options
</dd>
620 <dd class=
"description">Optional page header callback (
<code>NULL
</code> for none)
</dd>
622 <h4 class=
"returnvalue">Return Value
</h4>
623 <p class=
"description">0 on success, -
1 on failure
</p>
624 <h4 class=
"discussion">Discussion
</h4>
625 <p class=
"discussion">This function is used by raster image processing (RIP) filters like
626 cgpdftoraster and imagetoraster when writing CUPS raster data for a page.
627 It is not used by raster printer driver filters which only read CUPS
631 <code>cupsRasterInterpretPPD
</code> does not mark the options in the PPD using
632 the
"num_options
" and
"options
" arguments. Instead, mark the options with
633 <code>cupsMarkOptions
</code> and
<code>ppdMarkOption
</code> prior to calling it -
634 this allows for per-page options without manipulating the options array.
<br>
636 The
"func
" argument specifies an optional callback function that is
637 called prior to the computation of the final raster data. The function
638 can make changes to the
<a href=
"#cups_page_header2_t"><code>cups_page_header2_t
</code></a> data as needed to use a
639 supported raster format and then returns
0 on success and -
1 if the
640 requested attributes cannot be supported.
<br>
643 <code>cupsRasterInterpretPPD
</code> supports a subset of the PostScript language.
644 Currently only the
<code>[
</code>,
<code>]
</code>,
<code><<
</code>,
<code>>></code>,
<code>{
</code>,
645 <code>}
</code>,
<code>cleartomark
</code>,
<code>copy
</code>,
<code>dup
</code>,
<code>index
</code>,
646 <code>pop
</code>,
<code>roll
</code>,
<code>setpagedevice
</code>, and
<code>stopped
</code> operators
650 <h3 class=
"function"><a name=
"cupsRasterOpen">cupsRasterOpen
</a></h3>
651 <p class=
"description">Open a raster stream.
</p>
653 <a href=
"#cups_raster_t">cups_raster_t
</a> *cupsRasterOpen (
<br>
654 int fd,
<br>
655 <a href=
"#cups_mode_t">cups_mode_t
</a> mode
<br>
657 <h4 class=
"parameters">Parameters
</h4>
660 <dd class=
"description">File descriptor
</dd>
662 <dd class=
"description">Mode -
<code>CUPS_RASTER_READ
</code>,
<code>CUPS_RASTER_WRITE
</code>, or
<code>CUPS_RASTER_WRITE_COMPRESSED
</code></dd>
664 <h4 class=
"returnvalue">Return Value
</h4>
665 <p class=
"description">New stream
</p>
666 <h4 class=
"discussion">Discussion
</h4>
667 <p class=
"discussion">This function associates a raster stream with the given file descriptor.
668 For most printer driver filters,
"fd
" will be
0 (stdin). For most raster
669 image processor (RIP) filters that generate raster data,
"fd
" will be
1
672 When writing raster data, the
<code>CUPS_RASTER_WRITE
</code> or
673 <code>CUPS_RASTER_WRITE_COMPRESS
</code> mode can be used - compressed output
674 is generally
25-
50% smaller but adds a
100-
300% execution time overhead.
</p>
675 <h3 class=
"function"><span class=
"info"> DEPRECATED
</span><a name=
"cupsRasterReadHeader">cupsRasterReadHeader
</a></h3>
676 <p class=
"description">Read a raster page header and store it in a
677 version
1 page header structure.
</p>
679 unsigned cupsRasterReadHeader (
<br>
680 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
681 <a href=
"#cups_page_header_t">cups_page_header_t
</a> *h
<br>
683 <h4 class=
"parameters">Parameters
</h4>
686 <dd class=
"description">Raster stream
</dd>
688 <dd class=
"description">Pointer to header data
</dd>
690 <h4 class=
"returnvalue">Return Value
</h4>
691 <p class=
"description">1 on success,
0 on failure/end-of-file
</p>
692 <h4 class=
"discussion">Discussion
</h4>
693 <p class=
"discussion">This function is deprecated. Use
<a href=
"#cupsRasterReadHeader2"><code>cupsRasterReadHeader2
</code></a> instead.
<br>
695 Version
1 page headers were used in CUPS
1.0 and
1.1 and contain a subset
696 of the version
2 page header data. This function handles reading version
2
697 page headers and copying only the version
1 data into the provided buffer.
700 <h3 class=
"function"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cupsRasterReadHeader2">cupsRasterReadHeader2
</a></h3>
701 <p class=
"description">Read a raster page header and store it in a
702 version
2 page header structure.
</p>
704 unsigned cupsRasterReadHeader2 (
<br>
705 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
706 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *h
<br>
708 <h4 class=
"parameters">Parameters
</h4>
711 <dd class=
"description">Raster stream
</dd>
713 <dd class=
"description">Pointer to header data
</dd>
715 <h4 class=
"returnvalue">Return Value
</h4>
716 <p class=
"description">1 on success,
0 on failure/end-of-file
</p>
717 <h3 class=
"function"><a name=
"cupsRasterReadPixels">cupsRasterReadPixels
</a></h3>
718 <p class=
"description">Read raster pixels.
</p>
720 unsigned cupsRasterReadPixels (
<br>
721 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
722 unsigned char *p,
<br>
723 unsigned len
<br>
725 <h4 class=
"parameters">Parameters
</h4>
728 <dd class=
"description">Raster stream
</dd>
730 <dd class=
"description">Pointer to pixel buffer
</dd>
732 <dd class=
"description">Number of bytes to read
</dd>
734 <h4 class=
"returnvalue">Return Value
</h4>
735 <p class=
"description">Number of bytes read
</p>
736 <h4 class=
"discussion">Discussion
</h4>
737 <p class=
"discussion">For best performance, filters should read one or more whole lines.
738 The
"cupsBytesPerLine
" value from the page header can be used to allocate
739 the line buffer and as the number of bytes to read.
</p>
740 <h3 class=
"function"><span class=
"info"> DEPRECATED
</span><a name=
"cupsRasterWriteHeader">cupsRasterWriteHeader
</a></h3>
741 <p class=
"description">Write a raster page header from a version
1 page
742 header structure.
</p>
744 unsigned cupsRasterWriteHeader (
<br>
745 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
746 <a href=
"#cups_page_header_t">cups_page_header_t
</a> *h
<br>
748 <h4 class=
"parameters">Parameters
</h4>
751 <dd class=
"description">Raster stream
</dd>
753 <dd class=
"description">Raster page header
</dd>
755 <h4 class=
"returnvalue">Return Value
</h4>
756 <p class=
"description">1 on success,
0 on failure
</p>
757 <h4 class=
"discussion">Discussion
</h4>
758 <p class=
"discussion">This function is deprecated. Use
<a href=
"#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2
</code></a> instead.
761 <h3 class=
"function"><span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span><a name=
"cupsRasterWriteHeader2">cupsRasterWriteHeader2
</a></h3>
762 <p class=
"description">Write a raster page header from a version
2
763 page header structure.
</p>
765 unsigned cupsRasterWriteHeader2 (
<br>
766 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
767 <a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *h
<br>
769 <h4 class=
"parameters">Parameters
</h4>
772 <dd class=
"description">Raster stream
</dd>
774 <dd class=
"description">Raster page header
</dd>
776 <h4 class=
"returnvalue">Return Value
</h4>
777 <p class=
"description">1 on success,
0 on failure
</p>
778 <h4 class=
"discussion">Discussion
</h4>
779 <p class=
"discussion">The page header can be initialized using
<a href=
"#cupsRasterInterpretPPD"><code>cupsRasterInterpretPPD
</code></a>.
782 <h3 class=
"function"><a name=
"cupsRasterWritePixels">cupsRasterWritePixels
</a></h3>
783 <p class=
"description">Write raster pixels.
</p>
785 unsigned cupsRasterWritePixels (
<br>
786 <a href=
"#cups_raster_t">cups_raster_t
</a> *r,
<br>
787 unsigned char *p,
<br>
788 unsigned len
<br>
790 <h4 class=
"parameters">Parameters
</h4>
793 <dd class=
"description">Raster stream
</dd>
795 <dd class=
"description">Bytes to write
</dd>
797 <dd class=
"description">Number of bytes to write
</dd>
799 <h4 class=
"returnvalue">Return Value
</h4>
800 <p class=
"description">Number of bytes written
</p>
801 <h4 class=
"discussion">Discussion
</h4>
802 <p class=
"discussion">For best performance, filters should write one or more whole lines.
803 The
"cupsBytesPerLine
" value from the page header can be used to allocate
804 the line buffer and as the number of bytes to write.
</p>
805 <h2 class=
"title"><a name=
"TYPES">Data Types
</a></h2>
806 <h3 class=
"typedef"><a name=
"cups_adv_t">cups_adv_t
</a></h3>
807 <p class=
"description">AdvanceMedia attribute values
</p>
809 typedef enum
<a href=
"#cups_adv_e">cups_adv_e
</a> cups_adv_t;
811 <h3 class=
"typedef"><a name=
"cups_bool_t">cups_bool_t
</a></h3>
812 <p class=
"description">Types...
</p>
814 typedef enum
<a href=
"#cups_bool_e">cups_bool_e
</a> cups_bool_t;
816 <h3 class=
"typedef"><a name=
"cups_cspace_t">cups_cspace_t
</a></h3>
817 <p class=
"description">CutMedia attribute values
</p>
819 typedef enum
<a href=
"#cups_cspace_e">cups_cspace_e
</a> cups_cspace_t;
821 <h3 class=
"typedef"><a name=
"cups_cut_t">cups_cut_t
</a></h3>
822 <p class=
"description">LeadingEdge attribute values
</p>
824 typedef enum
<a href=
"#cups_cut_e">cups_cut_e
</a> cups_cut_t;
826 <h3 class=
"typedef"><a name=
"cups_edge_t">cups_edge_t
</a></h3>
827 <p class=
"description">Jog attribute values
</p>
829 typedef enum
<a href=
"#cups_edge_e">cups_edge_e
</a> cups_edge_t;
831 <h3 class=
"typedef"><a name=
"cups_interpret_cb_t">cups_interpret_cb_t
</a></h3>
832 <p class=
"description">cupsRasterInterpretPPD callback function
</p>
834 typedef int (*cups_interpret_cb_t)(
<a href=
"#cups_page_header2_t">cups_page_header2_t
</a> *header, int preferred_bits);
836 <h3 class=
"typedef"><a name=
"cups_jog_t">cups_jog_t
</a></h3>
837 <p class=
"description">cupsRasterOpen modes
</p>
839 typedef enum
<a href=
"#cups_jog_e">cups_jog_e
</a> cups_jog_t;
841 <h3 class=
"typedef"><a name=
"cups_mode_t">cups_mode_t
</a></h3>
842 <p class=
"description">cupsRasterOpen modes
</p>
844 typedef enum
<a href=
"#cups_mode_e">cups_mode_e
</a> cups_mode_t;
846 <h3 class=
"typedef"><a name=
"cups_order_t">cups_order_t
</a></h3>
847 <p class=
"description">cupsColorOrder attribute values
</p>
849 typedef enum
<a href=
"#cups_order_e">cups_order_e
</a> cups_order_t;
851 <h3 class=
"typedef"><a name=
"cups_orient_t">cups_orient_t
</a></h3>
852 <p class=
"description">The page header structure contains the standard PostScript page device
853 dictionary, along with some CUPS-specific parameters that are provided
856 typedef enum
<a href=
"#cups_orient_e">cups_orient_e
</a> cups_orient_t;
858 <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>
859 <p class=
"description">Version
2 page header
</p>
861 typedef struct
<a href=
"#cups_page_header2_s">cups_page_header2_s
</a> cups_page_header2_t;
863 <h3 class=
"typedef"><span class=
"info"> DEPRECATED
</span><a name=
"cups_page_header_t">cups_page_header_t
</a></h3>
864 <p class=
"description">Version
1 page header
</p>
866 typedef struct
<a href=
"#cups_page_header_s">cups_page_header_s
</a> cups_page_header_t;
868 <h3 class=
"typedef"><a name=
"cups_raster_t">cups_raster_t
</a></h3>
869 <p class=
"description">Raster stream data
</p>
871 typedef struct _cups_raster_s cups_raster_t;
873 <h2 class=
"title"><a name=
"STRUCTURES">Structures
</a></h2>
874 <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>
875 <p class=
"description">Version
2 page header
</p>
876 <p class=
"code">struct cups_page_header2_s {
<br>
877 unsigned AdvanceDistance;
<br>
878 <a href=
"#cups_adv_t">cups_adv_t
</a> AdvanceMedia;
<br>
879 <a href=
"#cups_bool_t">cups_bool_t
</a> Collate;
<br>
880 <a href=
"#cups_cut_t">cups_cut_t
</a> CutMedia;
<br>
881 <a href=
"#cups_bool_t">cups_bool_t
</a> Duplex;
<br>
882 unsigned HWResolution[
2];
<br>
883 unsigned ImagingBoundingBox[
4];
<br>
884 <a href=
"#cups_bool_t">cups_bool_t
</a> InsertSheet;
<br>
885 <a href=
"#cups_jog_t">cups_jog_t
</a> Jog;
<br>
886 <a href=
"#cups_edge_t">cups_edge_t
</a> LeadingEdge;
<br>
887 <a href=
"#cups_bool_t">cups_bool_t
</a> ManualFeed;
<br>
888 unsigned Margins[
2];
<br>
889 char MediaClass[
64];
<br>
890 char MediaColor[
64];
<br>
891 unsigned MediaPosition;
<br>
892 char MediaType[
64];
<br>
893 unsigned MediaWeight;
<br>
894 <a href=
"#cups_bool_t">cups_bool_t
</a> MirrorPrint;
<br>
895 <a href=
"#cups_bool_t">cups_bool_t
</a> NegativePrint;
<br>
896 unsigned NumCopies;
<br>
897 <a href=
"#cups_orient_t">cups_orient_t
</a> Orientation;
<br>
898 <a href=
"#cups_bool_t">cups_bool_t
</a> OutputFaceUp;
<br>
899 char OutputType[
64];
<br>
900 unsigned PageSize[
2];
<br>
901 <a href=
"#cups_bool_t">cups_bool_t
</a> Separations;
<br>
902 <a href=
"#cups_bool_t">cups_bool_t
</a> TraySwitch;
<br>
903 <a href=
"#cups_bool_t">cups_bool_t
</a> Tumble;
<br>
904 unsigned cupsBitsPerColor;
<br>
905 unsigned cupsBitsPerPixel;
<br>
906 float cupsBorderlessScalingFactor;
<br>
907 unsigned cupsBytesPerLine;
<br>
908 <a href=
"#cups_order_t">cups_order_t
</a> cupsColorOrder;
<br>
909 <a href=
"#cups_cspace_t">cups_cspace_t
</a> cupsColorSpace;
<br>
910 unsigned cupsCompression;
<br>
911 unsigned cupsHeight;
<br>
912 float cupsImagingBBox[
4];
<br>
913 unsigned cupsInteger[
16];
<br>
914 char cupsMarkerType[
64];
<br>
915 unsigned cupsMediaType;
<br>
916 unsigned cupsNumColors;
<br>
917 char cupsPageSizeName[
64];
<br>
918 float cupsPageSize[
2];
<br>
919 float cupsReal[
16];
<br>
920 char cupsRenderingIntent[
64];
<br>
921 unsigned cupsRowCount;
<br>
922 unsigned cupsRowFeed;
<br>
923 unsigned cupsRowStep;
<br>
924 char cupsString[
16][
64];
<br>
925 unsigned cupsWidth;
<br>
927 <h4 class=
"members">Members
</h4>
929 <dt>AdvanceDistance
</dt>
930 <dd class=
"description">AdvanceDistance value in points
</dd>
931 <dt>AdvanceMedia
</dt>
932 <dd class=
"description">AdvanceMedia value (
<a href=
"#cups_adv_t"><code>cups_adv_t
</code></a>)
</dd>
934 <dd class=
"description">Collated copies value
</dd>
936 <dd class=
"description">CutMedia value (
<a href=
"#cups_cut_t"><code>cups_cut_t
</code></a>)
</dd>
938 <dd class=
"description">Duplexed (double-sided) value
</dd>
939 <dt>HWResolution[
2]
</dt>
940 <dd class=
"description">Resolution in dots-per-inch
</dd>
941 <dt>ImagingBoundingBox[
4]
</dt>
942 <dd class=
"description">Pixel region that is painted (points, left, bottom, right, top)
</dd>
943 <dt>InsertSheet
</dt>
944 <dd class=
"description">InsertSheet value
</dd>
946 <dd class=
"description">Jog value (
<a href=
"#cups_jog_t"><code>cups_jog_t
</code></a>)
</dd>
947 <dt>LeadingEdge
</dt>
948 <dd class=
"description">LeadingEdge value (
<a href=
"#cups_edge_t"><code>cups_edge_t
</code></a>)
</dd>
950 <dd class=
"description">ManualFeed value
</dd>
952 <dd class=
"description">Lower-lefthand margins in points
</dd>
953 <dt>MediaClass[
64]
</dt>
954 <dd class=
"description">MediaClass string
</dd>
955 <dt>MediaColor[
64]
</dt>
956 <dd class=
"description">MediaColor string
</dd>
957 <dt>MediaPosition
</dt>
958 <dd class=
"description">MediaPosition value
</dd>
959 <dt>MediaType[
64]
</dt>
960 <dd class=
"description">MediaType string
</dd>
961 <dt>MediaWeight
</dt>
962 <dd class=
"description">MediaWeight value in grams/m^
2</dd>
963 <dt>MirrorPrint
</dt>
964 <dd class=
"description">MirrorPrint value
</dd>
965 <dt>NegativePrint
</dt>
966 <dd class=
"description">NegativePrint value
</dd>
968 <dd class=
"description">Number of copies to produce
</dd>
969 <dt>Orientation
</dt>
970 <dd class=
"description">Orientation value (
<a href=
"#cups_orient_t"><code>cups_orient_t
</code></a>)
</dd>
971 <dt>OutputFaceUp
</dt>
972 <dd class=
"description">OutputFaceUp value
</dd>
973 <dt>OutputType[
64]
</dt>
974 <dd class=
"description">OutputType string
</dd>
975 <dt>PageSize[
2]
</dt>
976 <dd class=
"description">Width and length of page in points
</dd>
977 <dt>Separations
</dt>
978 <dd class=
"description">Separations value
</dd>
980 <dd class=
"description">TraySwitch value
</dd>
982 <dd class=
"description">Tumble value
</dd>
983 <dt>cupsBitsPerColor
</dt>
984 <dd class=
"description">Number of bits for each color
</dd>
985 <dt>cupsBitsPerPixel
</dt>
986 <dd class=
"description">Number of bits for each pixel
</dd>
987 <dt>cupsBorderlessScalingFactor
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
988 <dd class=
"description">Scaling that was applied to page data
</dd>
989 <dt>cupsBytesPerLine
</dt>
990 <dd class=
"description">Number of bytes per line
</dd>
991 <dt>cupsColorOrder
</dt>
992 <dd class=
"description">Order of colors
</dd>
993 <dt>cupsColorSpace
</dt>
994 <dd class=
"description">True colorspace
</dd>
995 <dt>cupsCompression
</dt>
996 <dd class=
"description">Device compression to use
</dd>
998 <dd class=
"description">Height of page image in pixels
</dd>
999 <dt>cupsImagingBBox[
4]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1000 <dd class=
"description">Floating point ImagingBoundingBox
1001 (scaling factor not applied, left,
1002 bottom, right, top)
</dd>
1003 <dt>cupsInteger[
16]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1004 <dd class=
"description">User-defined integer values
</dd>
1005 <dt>cupsMarkerType[
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1006 <dd class=
"description">Ink/toner type
</dd>
1007 <dt>cupsMediaType
</dt>
1008 <dd class=
"description">Media type code
</dd>
1009 <dt>cupsNumColors
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1010 <dd class=
"description">Number of color compoents
</dd>
1011 <dt>cupsPageSizeName[
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1012 <dd class=
"description">PageSize name
</dd>
1013 <dt>cupsPageSize[
2]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1014 <dd class=
"description">Floating point PageSize (scaling *
1015 factor not applied)
</dd>
1016 <dt>cupsReal[
16]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1017 <dd class=
"description">User-defined floating-point values
</dd>
1018 <dt>cupsRenderingIntent[
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1019 <dd class=
"description">Color rendering intent
</dd>
1020 <dt>cupsRowCount
</dt>
1021 <dd class=
"description">Rows per band
</dd>
1022 <dt>cupsRowFeed
</dt>
1023 <dd class=
"description">Feed between bands
</dd>
1024 <dt>cupsRowStep
</dt>
1025 <dd class=
"description">Spacing between lines
</dd>
1026 <dt>cupsString[
16][
64]
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1027 <dd class=
"description">User-defined string values
</dd>
1029 <dd class=
"description">Width of page image in pixels
</dd>
1031 <h3 class=
"struct"><span class=
"info"> DEPRECATED
</span><a name=
"cups_page_header_s">cups_page_header_s
</a></h3>
1032 <p class=
"description">Version
1 page header
</p>
1033 <p class=
"code">struct cups_page_header_s {
<br>
1034 unsigned AdvanceDistance;
<br>
1035 <a href=
"#cups_adv_t">cups_adv_t
</a> AdvanceMedia;
<br>
1036 <a href=
"#cups_bool_t">cups_bool_t
</a> Collate;
<br>
1037 <a href=
"#cups_cut_t">cups_cut_t
</a> CutMedia;
<br>
1038 <a href=
"#cups_bool_t">cups_bool_t
</a> Duplex;
<br>
1039 unsigned HWResolution[
2];
<br>
1040 unsigned ImagingBoundingBox[
4];
<br>
1041 <a href=
"#cups_bool_t">cups_bool_t
</a> InsertSheet;
<br>
1042 <a href=
"#cups_jog_t">cups_jog_t
</a> Jog;
<br>
1043 <a href=
"#cups_edge_t">cups_edge_t
</a> LeadingEdge;
<br>
1044 <a href=
"#cups_bool_t">cups_bool_t
</a> ManualFeed;
<br>
1045 unsigned Margins[
2];
<br>
1046 char MediaClass[
64];
<br>
1047 char MediaColor[
64];
<br>
1048 unsigned MediaPosition;
<br>
1049 char MediaType[
64];
<br>
1050 unsigned MediaWeight;
<br>
1051 <a href=
"#cups_bool_t">cups_bool_t
</a> MirrorPrint;
<br>
1052 <a href=
"#cups_bool_t">cups_bool_t
</a> NegativePrint;
<br>
1053 unsigned NumCopies;
<br>
1054 <a href=
"#cups_orient_t">cups_orient_t
</a> Orientation;
<br>
1055 <a href=
"#cups_bool_t">cups_bool_t
</a> OutputFaceUp;
<br>
1056 char OutputType[
64];
<br>
1057 unsigned PageSize[
2];
<br>
1058 <a href=
"#cups_bool_t">cups_bool_t
</a> Separations;
<br>
1059 <a href=
"#cups_bool_t">cups_bool_t
</a> TraySwitch;
<br>
1060 <a href=
"#cups_bool_t">cups_bool_t
</a> Tumble;
<br>
1061 unsigned cupsBitsPerColor;
<br>
1062 unsigned cupsBitsPerPixel;
<br>
1063 unsigned cupsBytesPerLine;
<br>
1064 <a href=
"#cups_order_t">cups_order_t
</a> cupsColorOrder;
<br>
1065 <a href=
"#cups_cspace_t">cups_cspace_t
</a> cupsColorSpace;
<br>
1066 unsigned cupsCompression;
<br>
1067 unsigned cupsHeight;
<br>
1068 unsigned cupsMediaType;
<br>
1069 unsigned cupsRowCount;
<br>
1070 unsigned cupsRowFeed;
<br>
1071 unsigned cupsRowStep;
<br>
1072 unsigned cupsWidth;
<br>
1074 <h4 class=
"members">Members
</h4>
1076 <dt>AdvanceDistance
</dt>
1077 <dd class=
"description">AdvanceDistance value in points
</dd>
1078 <dt>AdvanceMedia
</dt>
1079 <dd class=
"description">AdvanceMedia value (
<a href=
"#cups_adv_t"><code>cups_adv_t
</code></a>)
</dd>
1081 <dd class=
"description">Collated copies value
</dd>
1083 <dd class=
"description">CutMedia value (
<a href=
"#cups_cut_t"><code>cups_cut_t
</code></a>)
</dd>
1085 <dd class=
"description">Duplexed (double-sided) value
</dd>
1086 <dt>HWResolution[
2]
</dt>
1087 <dd class=
"description">Resolution in dots-per-inch
</dd>
1088 <dt>ImagingBoundingBox[
4]
</dt>
1089 <dd class=
"description">Pixel region that is painted (points, left, bottom, right, top)
</dd>
1090 <dt>InsertSheet
</dt>
1091 <dd class=
"description">InsertSheet value
</dd>
1093 <dd class=
"description">Jog value (
<a href=
"#cups_jog_t"><code>cups_jog_t
</code></a>)
</dd>
1094 <dt>LeadingEdge
</dt>
1095 <dd class=
"description">LeadingEdge value (
<a href=
"#cups_edge_t"><code>cups_edge_t
</code></a>)
</dd>
1096 <dt>ManualFeed
</dt>
1097 <dd class=
"description">ManualFeed value
</dd>
1098 <dt>Margins[
2]
</dt>
1099 <dd class=
"description">Lower-lefthand margins in points
</dd>
1100 <dt>MediaClass[
64]
</dt>
1101 <dd class=
"description">MediaClass string
</dd>
1102 <dt>MediaColor[
64]
</dt>
1103 <dd class=
"description">MediaColor string
</dd>
1104 <dt>MediaPosition
</dt>
1105 <dd class=
"description">MediaPosition value
</dd>
1106 <dt>MediaType[
64]
</dt>
1107 <dd class=
"description">MediaType string
</dd>
1108 <dt>MediaWeight
</dt>
1109 <dd class=
"description">MediaWeight value in grams/m^
2</dd>
1110 <dt>MirrorPrint
</dt>
1111 <dd class=
"description">MirrorPrint value
</dd>
1112 <dt>NegativePrint
</dt>
1113 <dd class=
"description">NegativePrint value
</dd>
1115 <dd class=
"description">Number of copies to produce
</dd>
1116 <dt>Orientation
</dt>
1117 <dd class=
"description">Orientation value (
<a href=
"#cups_orient_t"><code>cups_orient_t
</code></a>)
</dd>
1118 <dt>OutputFaceUp
</dt>
1119 <dd class=
"description">OutputFaceUp value
</dd>
1120 <dt>OutputType[
64]
</dt>
1121 <dd class=
"description">OutputType string
</dd>
1122 <dt>PageSize[
2]
</dt>
1123 <dd class=
"description">Width and length of page in points
</dd>
1124 <dt>Separations
</dt>
1125 <dd class=
"description">Separations value
</dd>
1126 <dt>TraySwitch
</dt>
1127 <dd class=
"description">TraySwitch value
</dd>
1129 <dd class=
"description">Tumble value
</dd>
1130 <dt>cupsBitsPerColor
</dt>
1131 <dd class=
"description">Number of bits for each color
</dd>
1132 <dt>cupsBitsPerPixel
</dt>
1133 <dd class=
"description">Number of bits for each pixel
</dd>
1134 <dt>cupsBytesPerLine
</dt>
1135 <dd class=
"description">Number of bytes per line
</dd>
1136 <dt>cupsColorOrder
</dt>
1137 <dd class=
"description">Order of colors
</dd>
1138 <dt>cupsColorSpace
</dt>
1139 <dd class=
"description">True colorspace
</dd>
1140 <dt>cupsCompression
</dt>
1141 <dd class=
"description">Device compression to use
</dd>
1142 <dt>cupsHeight
</dt>
1143 <dd class=
"description">Height of page image in pixels
</dd>
1144 <dt>cupsMediaType
</dt>
1145 <dd class=
"description">Media type code
</dd>
1146 <dt>cupsRowCount
</dt>
1147 <dd class=
"description">Rows per band
</dd>
1148 <dt>cupsRowFeed
</dt>
1149 <dd class=
"description">Feed between bands
</dd>
1150 <dt>cupsRowStep
</dt>
1151 <dd class=
"description">Spacing between lines
</dd>
1153 <dd class=
"description">Width of page image in pixels
</dd>
1155 <h2 class=
"title"><a name=
"ENUMERATIONS">Constants
</a></h2>
1156 <h3 class=
"enumeration"><a name=
"cups_adv_e">cups_adv_e
</a></h3>
1157 <p class=
"description">AdvanceMedia attribute values
</p>
1158 <h4 class=
"constants">Constants
</h4>
1160 <dt>CUPS_ADVANCE_FILE
</dt>
1161 <dd class=
"description">Advance the roll after this file
</dd>
1162 <dt>CUPS_ADVANCE_JOB
</dt>
1163 <dd class=
"description">Advance the roll after this job
</dd>
1164 <dt>CUPS_ADVANCE_NONE
</dt>
1165 <dd class=
"description">Never advance the roll
</dd>
1166 <dt>CUPS_ADVANCE_PAGE
</dt>
1167 <dd class=
"description">Advance the roll after this page
</dd>
1168 <dt>CUPS_ADVANCE_SET
</dt>
1169 <dd class=
"description">Advance the roll after this set
</dd>
1171 <h3 class=
"enumeration"><a name=
"cups_bool_e">cups_bool_e
</a></h3>
1172 <p class=
"description">Types...
</p>
1173 <h4 class=
"constants">Constants
</h4>
1175 <dt>CUPS_FALSE
</dt>
1176 <dd class=
"description">Logical false
</dd>
1178 <dd class=
"description">Logical true
</dd>
1180 <h3 class=
"enumeration"><a name=
"cups_cspace_e">cups_cspace_e
</a></h3>
1181 <p class=
"description"></p>
1182 <h4 class=
"constants">Constants
</h4>
1184 <dt>CUPS_CSPACE_CIELab
<span class=
"info"> CUPS
1.1.19 </span></dt>
1185 <dd class=
"description">CIE Lab
</dd>
1186 <dt>CUPS_CSPACE_CIEXYZ
<span class=
"info"> CUPS
1.1.19 </span></dt>
1187 <dd class=
"description">CIE XYZ
</dd>
1188 <dt>CUPS_CSPACE_CMY
</dt>
1189 <dd class=
"description">Cyan, magenta, yellow
</dd>
1190 <dt>CUPS_CSPACE_CMYK
</dt>
1191 <dd class=
"description">Cyan, magenta, yellow, black
</dd>
1192 <dt>CUPS_CSPACE_GMCK
</dt>
1193 <dd class=
"description">Gold, magenta, yellow, black
</dd>
1194 <dt>CUPS_CSPACE_GMCS
</dt>
1195 <dd class=
"description">Gold, magenta, yellow, silver
</dd>
1196 <dt>CUPS_CSPACE_GOLD
</dt>
1197 <dd class=
"description">Gold foil
</dd>
1198 <dt>CUPS_CSPACE_ICC1
<span class=
"info"> CUPS
1.1.19 </span></dt>
1199 <dd class=
"description">ICC-based,
1 color
</dd>
1200 <dt>CUPS_CSPACE_ICC2
<span class=
"info"> CUPS
1.1.19 </span></dt>
1201 <dd class=
"description">ICC-based,
2 colors
</dd>
1202 <dt>CUPS_CSPACE_ICC3
<span class=
"info"> CUPS
1.1.19 </span></dt>
1203 <dd class=
"description">ICC-based,
3 colors
</dd>
1204 <dt>CUPS_CSPACE_ICC4
<span class=
"info"> CUPS
1.1.19 </span></dt>
1205 <dd class=
"description">ICC-based,
4 colors
</dd>
1206 <dt>CUPS_CSPACE_ICC5
<span class=
"info"> CUPS
1.1.19 </span></dt>
1207 <dd class=
"description">ICC-based,
5 colors
</dd>
1208 <dt>CUPS_CSPACE_ICC6
<span class=
"info"> CUPS
1.1.19 </span></dt>
1209 <dd class=
"description">ICC-based,
6 colors
</dd>
1210 <dt>CUPS_CSPACE_ICC7
<span class=
"info"> CUPS
1.1.19 </span></dt>
1211 <dd class=
"description">ICC-based,
7 colors
</dd>
1212 <dt>CUPS_CSPACE_ICC8
<span class=
"info"> CUPS
1.1.19 </span></dt>
1213 <dd class=
"description">ICC-based,
8 colors
</dd>
1214 <dt>CUPS_CSPACE_ICC9
<span class=
"info"> CUPS
1.1.19 </span></dt>
1215 <dd class=
"description">ICC-based,
9 colors
</dd>
1216 <dt>CUPS_CSPACE_ICCA
<span class=
"info"> CUPS
1.1.19 </span></dt>
1217 <dd class=
"description">ICC-based,
10 colors
</dd>
1218 <dt>CUPS_CSPACE_ICCB
<span class=
"info"> CUPS
1.1.19 </span></dt>
1219 <dd class=
"description">ICC-based,
11 colors
</dd>
1220 <dt>CUPS_CSPACE_ICCC
<span class=
"info"> CUPS
1.1.19 </span></dt>
1221 <dd class=
"description">ICC-based,
12 colors
</dd>
1222 <dt>CUPS_CSPACE_ICCD
<span class=
"info"> CUPS
1.1.19 </span></dt>
1223 <dd class=
"description">ICC-based,
13 colors
</dd>
1224 <dt>CUPS_CSPACE_ICCE
<span class=
"info"> CUPS
1.1.19 </span></dt>
1225 <dd class=
"description">ICC-based,
14 colors
</dd>
1226 <dt>CUPS_CSPACE_ICCF
<span class=
"info"> CUPS
1.1.19 </span></dt>
1227 <dd class=
"description">ICC-based,
15 colors
</dd>
1228 <dt>CUPS_CSPACE_K
</dt>
1229 <dd class=
"description">Black
</dd>
1230 <dt>CUPS_CSPACE_KCMY
</dt>
1231 <dd class=
"description">Black, cyan, magenta, yellow
</dd>
1232 <dt>CUPS_CSPACE_KCMYcm
</dt>
1233 <dd class=
"description">Black, cyan, magenta, yellow, *
1234 light-cyan, light-magenta
</dd>
1235 <dt>CUPS_CSPACE_RGB
</dt>
1236 <dd class=
"description">Red, green, blue
</dd>
1237 <dt>CUPS_CSPACE_RGBA
</dt>
1238 <dd class=
"description">Red, green, blue, alpha
</dd>
1239 <dt>CUPS_CSPACE_RGBW
<span class=
"info"> CUPS
1.2/Mac OS X
10.5 </span></dt>
1240 <dd class=
"description">Red, green, blue, white
</dd>
1241 <dt>CUPS_CSPACE_SILVER
</dt>
1242 <dd class=
"description">Silver foil
</dd>
1243 <dt>CUPS_CSPACE_W
</dt>
1244 <dd class=
"description">Luminance
</dd>
1245 <dt>CUPS_CSPACE_WHITE
</dt>
1246 <dd class=
"description">White ink (as black)
</dd>
1247 <dt>CUPS_CSPACE_YMC
</dt>
1248 <dd class=
"description">Yellow, magenta, cyan
</dd>
1249 <dt>CUPS_CSPACE_YMCK
</dt>
1250 <dd class=
"description">Yellow, magenta, cyan, black
</dd>
1252 <h3 class=
"enumeration"><a name=
"cups_cut_e">cups_cut_e
</a></h3>
1253 <p class=
"description"></p>
1254 <h4 class=
"constants">Constants
</h4>
1256 <dt>CUPS_CUT_FILE
</dt>
1257 <dd class=
"description">Cut the roll after this file
</dd>
1258 <dt>CUPS_CUT_JOB
</dt>
1259 <dd class=
"description">Cut the roll after this job
</dd>
1260 <dt>CUPS_CUT_NONE
</dt>
1261 <dd class=
"description">Never cut the roll
</dd>
1262 <dt>CUPS_CUT_PAGE
</dt>
1263 <dd class=
"description">Cut the roll after this page
</dd>
1264 <dt>CUPS_CUT_SET
</dt>
1265 <dd class=
"description">Cut the roll after this set
</dd>
1267 <h3 class=
"enumeration"><a name=
"cups_edge_e">cups_edge_e
</a></h3>
1268 <p class=
"description"></p>
1269 <h4 class=
"constants">Constants
</h4>
1271 <dt>CUPS_EDGE_BOTTOM
</dt>
1272 <dd class=
"description">Leading edge is the bottom of the page
</dd>
1273 <dt>CUPS_EDGE_LEFT
</dt>
1274 <dd class=
"description">Leading edge is the left of the page
</dd>
1275 <dt>CUPS_EDGE_RIGHT
</dt>
1276 <dd class=
"description">Leading edge is the right of the page
</dd>
1277 <dt>CUPS_EDGE_TOP
</dt>
1278 <dd class=
"description">Leading edge is the top of the page
</dd>
1280 <h3 class=
"enumeration"><a name=
"cups_jog_e">cups_jog_e
</a></h3>
1281 <p class=
"description"></p>
1282 <h4 class=
"constants">Constants
</h4>
1284 <dt>CUPS_JOG_FILE
</dt>
1285 <dd class=
"description">Move pages after this file
</dd>
1286 <dt>CUPS_JOG_JOB
</dt>
1287 <dd class=
"description">Move pages after this job
</dd>
1288 <dt>CUPS_JOG_NONE
</dt>
1289 <dd class=
"description">Never move pages
</dd>
1290 <dt>CUPS_JOG_SET
</dt>
1291 <dd class=
"description">Move pages after this set
</dd>
1293 <h3 class=
"enumeration"><a name=
"cups_mode_e">cups_mode_e
</a></h3>
1294 <p class=
"description"></p>
1295 <h4 class=
"constants">Constants
</h4>
1297 <dt>CUPS_RASTER_READ
</dt>
1298 <dd class=
"description">Open stream for reading
</dd>
1299 <dt>CUPS_RASTER_WRITE
</dt>
1300 <dd class=
"description">Open stream for writing
</dd>
1301 <dt>CUPS_RASTER_WRITE_COMPRESSED
<span class=
"info"> CUPS
1.3 </span></dt>
1302 <dd class=
"description">Open stream for compressed writing
</dd>
1304 <h3 class=
"enumeration"><a name=
"cups_order_e">cups_order_e
</a></h3>
1305 <p class=
"description">cupsColorOrder attribute values
</p>
1306 <h4 class=
"constants">Constants
</h4>
1308 <dt>CUPS_ORDER_BANDED
</dt>
1309 <dd class=
"description">CCC MMM YYY KKK ...
</dd>
1310 <dt>CUPS_ORDER_CHUNKED
</dt>
1311 <dd class=
"description">CMYK CMYK CMYK ...
</dd>
1312 <dt>CUPS_ORDER_PLANAR
</dt>
1313 <dd class=
"description">CCC ... MMM ... YYY ... KKK ...
</dd>
1315 <h3 class=
"enumeration"><a name=
"cups_orient_e">cups_orient_e
</a></h3>
1316 <p class=
"description"></p>
1317 <h4 class=
"constants">Constants
</h4>
1319 <dt>CUPS_ORIENT_0
</dt>
1320 <dd class=
"description">Don't rotate the page
</dd>
1321 <dt>CUPS_ORIENT_180
</dt>
1322 <dd class=
"description">Turn the page upside down
</dd>
1323 <dt>CUPS_ORIENT_270
</dt>
1324 <dd class=
"description">Rotate the page clockwise
</dd>
1325 <dt>CUPS_ORIENT_90
</dt>
1326 <dd class=
"description">Rotate the page counter-clockwise
</dd>