|
|
<!DOCTYPE html>
|
|
|
<html>
|
|
|
<!-- SECTION: Programming -->
|
|
|
<head>
|
|
|
<title>Raster API</title>
|
|
|
<meta name="keywords" content="Programming">
|
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
|
|
<meta name="creator" content="codedoc v3.1">
|
|
|
<meta name="author" content="Unknown">
|
|
|
<meta name="copyright" content="Unknown">
|
|
|
<meta name="version" content="0.0">
|
|
|
<style type="text/css"><!--
|
|
|
BODY {
|
|
|
font-family: lucida grande, geneva, helvetica, arial, sans-serif;
|
|
|
}
|
|
|
|
|
|
H1, H2, H3, H4, H5, H6, P, TD, TH {
|
|
|
font-family: lucida grande, geneva, helvetica, arial, sans-serif;
|
|
|
}
|
|
|
|
|
|
H1 { font-size: 2em; }
|
|
|
H2 { font-size: 1.75em; }
|
|
|
H3 { font-size: 1.5em; }
|
|
|
H4 { font-size: 1.25em; }
|
|
|
|
|
|
KBD {
|
|
|
font-family: monaco, courier, monospace;
|
|
|
font-weight: bold;
|
|
|
}
|
|
|
|
|
|
PRE {
|
|
|
font-family: monaco, courier, monospace;
|
|
|
}
|
|
|
|
|
|
BLOCKQUOTE {
|
|
|
border-left: solid 2px #777;
|
|
|
margin: 1em 0;
|
|
|
padding: 10px;
|
|
|
}
|
|
|
|
|
|
BLOCKQUOTE OL LI {
|
|
|
margin-left: -1em;
|
|
|
}
|
|
|
|
|
|
PRE.command, PRE.example {
|
|
|
background: #eee;
|
|
|
margin: 0 36pt;
|
|
|
padding: 10px;
|
|
|
}
|
|
|
|
|
|
P.compact {
|
|
|
margin: 0;
|
|
|
}
|
|
|
|
|
|
P.example {
|
|
|
font-style: italic;
|
|
|
margin-left: 36pt;
|
|
|
}
|
|
|
|
|
|
DL.man DD {
|
|
|
margin-left: 5em;
|
|
|
}
|
|
|
|
|
|
DL.man DT {
|
|
|
margin-left: 0;
|
|
|
}
|
|
|
|
|
|
PRE.man {
|
|
|
margin: 0;
|
|
|
}
|
|
|
|
|
|
PRE.command EM, PRE.example EM {
|
|
|
font-family: lucida grande, geneva, helvetica, arial, sans-serif;
|
|
|
}
|
|
|
|
|
|
P.command {
|
|
|
font-family: monaco, courier, monospace;
|
|
|
margin-left: 36pt;
|
|
|
}
|
|
|
|
|
|
P.formula {
|
|
|
font-style: italic;
|
|
|
margin-left: 36pt;
|
|
|
}
|
|
|
|
|
|
A IMG {
|
|
|
border: none;
|
|
|
}
|
|
|
|
|
|
A:link:hover IMG {
|
|
|
background: #f0f0f0;
|
|
|
border-radius: 10px;
|
|
|
-moz-border-radius: 10px;
|
|
|
}
|
|
|
|
|
|
A:link, A:visited {
|
|
|
font-weight: inherit;
|
|
|
text-decoration: none;
|
|
|
}
|
|
|
|
|
|
A:link:hover, A:visited:hover, A:active {
|
|
|
text-decoration: underline;
|
|
|
}
|
|
|
|
|
|
SUB, SUP {
|
|
|
font-size: 50%;
|
|
|
}
|
|
|
|
|
|
TR.data, TD.data, TR.data TD {
|
|
|
margin-top: 10pt;
|
|
|
padding: 5pt;
|
|
|
border-bottom: solid 1pt #999999;
|
|
|
}
|
|
|
|
|
|
TR.data TH {
|
|
|
border-bottom: solid 1pt #999999;
|
|
|
padding-top: 10pt;
|
|
|
padding-left: 5pt;
|
|
|
text-align: left;
|
|
|
}
|
|
|
|
|
|
DIV.table TABLE {
|
|
|
border: solid thin #999999;
|
|
|
border-collapse: collapse;
|
|
|
border-spacing: 0;
|
|
|
margin-left: auto;
|
|
|
margin-right: auto;
|
|
|
}
|
|
|
|
|
|
DIV.table CAPTION {
|
|
|
caption-side: top;
|
|
|
font-size: 120%;
|
|
|
font-style: italic;
|
|
|
font-weight: bold;
|
|
|
margin-left: auto;
|
|
|
margin-right: auto;
|
|
|
}
|
|
|
|
|
|
DIV.table TABLE TD {
|
|
|
border: solid thin #cccccc;
|
|
|
padding: 5pt 10pt 0;
|
|
|
}
|
|
|
|
|
|
DIV.table TABLE TH {
|
|
|
background: #cccccc;
|
|
|
border: none;
|
|
|
border-bottom: solid thin #999999;
|
|
|
}
|
|
|
|
|
|
DIV.figure TABLE {
|
|
|
margin-left: auto;
|
|
|
margin-right: auto;
|
|
|
}
|
|
|
|
|
|
DIV.figure CAPTION {
|
|
|
caption-side: bottom;
|
|
|
font-size: 120%;
|
|
|
font-style: italic;
|
|
|
font-weight: bold;
|
|
|
margin-left: auto;
|
|
|
margin-right: auto;
|
|
|
}
|
|
|
|
|
|
TH.label {
|
|
|
text-align: right;
|
|
|
vertical-align: top;
|
|
|
}
|
|
|
|
|
|
TH.sublabel {
|
|
|
text-align: right;
|
|
|
font-weight: normal;
|
|
|
}
|
|
|
|
|
|
HR {
|
|
|
border: solid thin;
|
|
|
}
|
|
|
|
|
|
SPAN.info {
|
|
|
background: black;
|
|
|
border: thin solid black;
|
|
|
color: white;
|
|
|
font-size: 80%;
|
|
|
font-style: italic;
|
|
|
font-weight: bold;
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
|
|
|
H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
|
|
|
float: right;
|
|
|
font-size: 100%;
|
|
|
}
|
|
|
|
|
|
H1.title {
|
|
|
}
|
|
|
|
|
|
H2.title, H3.title {
|
|
|
border-bottom: solid 2pt #000000;
|
|
|
}
|
|
|
|
|
|
DIV.indent, TABLE.indent {
|
|
|
margin-top: 2em;
|
|
|
margin-left: auto;
|
|
|
margin-right: auto;
|
|
|
width: 90%;
|
|
|
}
|
|
|
|
|
|
TABLE.indent {
|
|
|
border-collapse: collapse;
|
|
|
}
|
|
|
|
|
|
TABLE.indent TD, TABLE.indent TH {
|
|
|
padding: 0;
|
|
|
}
|
|
|
|
|
|
TABLE.list {
|
|
|
border-collapse: collapse;
|
|
|
margin-left: auto;
|
|
|
margin-right: auto;
|
|
|
width: 90%;
|
|
|
}
|
|
|
|
|
|
TABLE.list TH {
|
|
|
background: white;
|
|
|
border-bottom: solid thin #cccccc;
|
|
|
color: #444444;
|
|
|
padding-top: 10pt;
|
|
|
padding-left: 5pt;
|
|
|
text-align: left;
|
|
|
vertical-align: bottom;
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
|
|
|
TABLE.list TH A {
|
|
|
color: #4444cc;
|
|
|
}
|
|
|
|
|
|
TABLE.list TD {
|
|
|
border-bottom: solid thin #eeeeee;
|
|
|
padding-top: 5pt;
|
|
|
padding-left: 5pt;
|
|
|
}
|
|
|
|
|
|
TABLE.list TR:nth-child(even) {
|
|
|
background: #f8f8f8;
|
|
|
}
|
|
|
|
|
|
TABLE.list TR:nth-child(odd) {
|
|
|
background: #f4f4f4;
|
|
|
}
|
|
|
|
|
|
DT {
|
|
|
margin-left: 36pt;
|
|
|
margin-top: 12pt;
|
|
|
}
|
|
|
|
|
|
DD {
|
|
|
margin-left: 54pt;
|
|
|
}
|
|
|
|
|
|
DL.category DT {
|
|
|
font-weight: bold;
|
|
|
}
|
|
|
|
|
|
P.summary {
|
|
|
margin-left: 36pt;
|
|
|
font-family: monaco, courier, monospace;
|
|
|
}
|
|
|
|
|
|
DIV.summary TABLE {
|
|
|
border: solid thin #999999;
|
|
|
border-collapse: collapse;
|
|
|
border-spacing: 0;
|
|
|
margin: 10px;
|
|
|
}
|
|
|
|
|
|
DIV.summary TABLE TD, DIV.summary TABLE TH {
|
|
|
border: solid thin #999999;
|
|
|
padding: 5px;
|
|
|
text-align: left;
|
|
|
vertical-align: top;
|
|
|
}
|
|
|
|
|
|
DIV.summary TABLE THEAD TH {
|
|
|
background: #eeeeee;
|
|
|
}
|
|
|
|
|
|
/* API documentation styles... */
|
|
|
div.body h1 {
|
|
|
font-size: 250%;
|
|
|
font-weight: bold;
|
|
|
margin: 0;
|
|
|
}
|
|
|
div.body h2 {
|
|
|
font-size: 250%;
|
|
|
margin-top: 1.5em;
|
|
|
}
|
|
|
div.body h3 {
|
|
|
font-size: 150%;
|
|
|
margin-bottom: 0.5em;
|
|
|
margin-top: 1.5em;
|
|
|
}
|
|
|
div.body h4 {
|
|
|
font-size: 110%;
|
|
|
margin-bottom: 0.5em;
|
|
|
margin-top: 1.5em;
|
|
|
}
|
|
|
div.body h5 {
|
|
|
font-size: 100%;
|
|
|
margin-bottom: 0.5em;
|
|
|
margin-top: 1.5em;
|
|
|
}
|
|
|
div.contents {
|
|
|
background: #e8e8e8;
|
|
|
border: solid thin black;
|
|
|
padding: 10px;
|
|
|
}
|
|
|
div.contents h1 {
|
|
|
font-size: 110%;
|
|
|
}
|
|
|
div.contents h2 {
|
|
|
font-size: 100%;
|
|
|
}
|
|
|
div.contents ul.contents {
|
|
|
font-size: 80%;
|
|
|
}
|
|
|
.class {
|
|
|
border-bottom: solid 2px gray;
|
|
|
}
|
|
|
.constants {
|
|
|
}
|
|
|
.description {
|
|
|
margin-top: 0.5em;
|
|
|
}
|
|
|
.discussion {
|
|
|
}
|
|
|
.enumeration {
|
|
|
border-bottom: solid 2px gray;
|
|
|
}
|
|
|
.function {
|
|
|
border-bottom: solid 2px gray;
|
|
|
margin-bottom: 0;
|
|
|
}
|
|
|
.members {
|
|
|
}
|
|
|
.method {
|
|
|
}
|
|
|
.parameters {
|
|
|
}
|
|
|
.returnvalue {
|
|
|
}
|
|
|
.struct {
|
|
|
border-bottom: solid 2px gray;
|
|
|
}
|
|
|
.typedef {
|
|
|
border-bottom: solid 2px gray;
|
|
|
}
|
|
|
.union {
|
|
|
border-bottom: solid 2px gray;
|
|
|
}
|
|
|
.variable {
|
|
|
}
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
|
page-break-inside: avoid;
|
|
|
}
|
|
|
blockquote {
|
|
|
border: solid thin gray;
|
|
|
box-shadow: 3px 3px 5px rgba(0,0,0,0.5);
|
|
|
padding: 10px 10px 0px;
|
|
|
page-break-inside: avoid;
|
|
|
}
|
|
|
p code, li code, p.code, pre, ul.code li {
|
|
|
background: rgba(127,127,127,0.1);
|
|
|
border: thin dotted gray;
|
|
|
font-family: monospace;
|
|
|
hyphens: manual;
|
|
|
-webkit-hyphens: manual;
|
|
|
page-break-inside: avoid;
|
|
|
}
|
|
|
p.code, pre, ul.code li {
|
|
|
padding: 10px;
|
|
|
}
|
|
|
p code, li code {
|
|
|
padding: 2px 5px;
|
|
|
}
|
|
|
a:link, a:visited {
|
|
|
text-decoration: none;
|
|
|
}
|
|
|
span.info {
|
|
|
background: black;
|
|
|
border: solid thin black;
|
|
|
color: white;
|
|
|
font-size: 80%;
|
|
|
font-style: italic;
|
|
|
font-weight: bold;
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
h2 span.info, h3 span.info, h4 span.info {
|
|
|
border-radius: 10px;
|
|
|
float: right;
|
|
|
font-size: 80%;
|
|
|
padding: 3px 6px;
|
|
|
}
|
|
|
h2.title span.info, h3.title span.info, h4.title span.info {
|
|
|
border-bottom-left-radius: 0px;
|
|
|
border-bottom-right-radius: 0px;
|
|
|
}
|
|
|
h2.title span.info {
|
|
|
padding: 4px 6px;
|
|
|
}
|
|
|
ul.code, ul.contents, ul.subcontents {
|
|
|
list-style-type: none;
|
|
|
margin: 0;
|
|
|
padding-left: 0;
|
|
|
}
|
|
|
ul.code li {
|
|
|
margin: 0;
|
|
|
}
|
|
|
ul.contents > li {
|
|
|
margin-top: 1em;
|
|
|
}
|
|
|
ul.contents li ul.code, ul.contents li ul.subcontents {
|
|
|
padding-left: 2em;
|
|
|
}
|
|
|
table.list {
|
|
|
border-collapse: collapse;
|
|
|
width: 100%;
|
|
|
}
|
|
|
table.list tr:nth-child(even) {
|
|
|
background: rgba(127,127,127,0.1);]n}
|
|
|
table.list th {
|
|
|
border-right: 2px solid gray;
|
|
|
font-family: monospace;
|
|
|
padding: 5px 10px 5px 2px;
|
|
|
text-align: right;
|
|
|
vertical-align: top;
|
|
|
}
|
|
|
table.list td {
|
|
|
padding: 5px 2px 5px 10px;
|
|
|
text-align: left;
|
|
|
vertical-align: top;
|
|
|
}
|
|
|
h1.title {
|
|
|
}
|
|
|
h2.title {
|
|
|
border-bottom: solid 2px black;
|
|
|
}
|
|
|
h3.title {
|
|
|
border-bottom: solid 2px black;
|
|
|
}
|
|
|
--></style>
|
|
|
</head>
|
|
|
<body>
|
|
|
<!--
|
|
|
Raster API documentation for CUPS.
|
|
|
|
|
|
Copyright © 2008-2019 by Apple Inc.
|
|
|
|
|
|
Licensed under Apache License v2.0. See the file "LICENSE" for more
|
|
|
information.
|
|
|
-->
|
|
|
|
|
|
<h1 class='title'>Raster API</h1>
|
|
|
|
|
|
<div class='summary'><table summary='General Information'>
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<th>Header</th>
|
|
|
<th>cups/raster.h</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<tr>
|
|
|
<th>Library</th>
|
|
|
<td>-lcups</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>See Also</th>
|
|
|
<td>Programming: <a href='cupspm.html'>CUPS Programming Manual</a><br>
|
|
|
Programming: <a href='api-ppd.html'>PPD API</a><br>
|
|
|
References: <a href='spec-ppd.html'>CUPS PPD Specification</a></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table></div>
|
|
|
<div class="contents">
|
|
|
<h2 class="title">Contents</h2>
|
|
|
<ul class="contents">
|
|
|
<li><a href="#OVERVIEW">Overview</a></li>
|
|
|
<li><a href="#TASKS">Functions by Task</a><ul class="subcontents">
|
|
|
<li><a href="#OPENCLOSE">Opening and Closing Raster Streams</a></li>
|
|
|
<li><a href="#READING">Reading Raster Streams</a></li>
|
|
|
<li><a href="#WRITING">Writing Raster Streams</a></li>
|
|
|
</ul></li>
|
|
|
<li><a href="#FUNCTIONS">Functions</a><ul class="subcontents">
|
|
|
<li><a href="#cupsRasterClose">cupsRasterClose</a></li>
|
|
|
<li><a href="#cupsRasterErrorString">cupsRasterErrorString</a></li>
|
|
|
<li><a href="#cupsRasterInitPWGHeader">cupsRasterInitPWGHeader</a></li>
|
|
|
<li><a href="#cupsRasterOpen">cupsRasterOpen</a></li>
|
|
|
<li><a href="#cupsRasterOpenIO">cupsRasterOpenIO</a></li>
|
|
|
<li><a href="#cupsRasterReadHeader">cupsRasterReadHeader</a></li>
|
|
|
<li><a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a></li>
|
|
|
<li><a href="#cupsRasterReadPixels">cupsRasterReadPixels</a></li>
|
|
|
<li><a href="#cupsRasterWriteHeader">cupsRasterWriteHeader</a></li>
|
|
|
<li><a href="#cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></li>
|
|
|
<li><a href="#cupsRasterWritePixels">cupsRasterWritePixels</a></li>
|
|
|
</ul></li>
|
|
|
<li><a href="#TYPES">Data Types</a><ul class="subcontents">
|
|
|
<li><a href="#cups_adv_t">cups_adv_t</a></li>
|
|
|
<li><a href="#cups_bool_t">cups_bool_t</a></li>
|
|
|
<li><a href="#cups_cspace_t">cups_cspace_t</a></li>
|
|
|
<li><a href="#cups_cut_t">cups_cut_t</a></li>
|
|
|
<li><a href="#cups_edge_t">cups_edge_t</a></li>
|
|
|
<li><a href="#cups_jog_t">cups_jog_t</a></li>
|
|
|
<li><a href="#cups_mode_t">cups_mode_t</a></li>
|
|
|
<li><a href="#cups_order_t">cups_order_t</a></li>
|
|
|
<li><a href="#cups_orient_t">cups_orient_t</a></li>
|
|
|
<li><a href="#cups_page_header2_t">cups_page_header2_t</a></li>
|
|
|
<li><a href="#cups_page_header_t">cups_page_header_t</a></li>
|
|
|
<li><a href="#cups_raster_iocb_t">cups_raster_iocb_t</a></li>
|
|
|
<li><a href="#cups_raster_t">cups_raster_t</a></li>
|
|
|
</ul></li>
|
|
|
<li><a href="#STRUCTURES">Structures</a><ul class="subcontents">
|
|
|
<li><a href="#cups_page_header2_s">cups_page_header2_s</a></li>
|
|
|
<li><a href="#cups_page_header_s">cups_page_header_s</a></li>
|
|
|
</ul></li>
|
|
|
<li><a href="#ENUMERATIONS">Enumerations</a><ul class="subcontents">
|
|
|
<li><a href="#cups_adv_e">cups_adv_e</a></li>
|
|
|
<li><a href="#cups_bool_e">cups_bool_e</a></li>
|
|
|
<li><a href="#cups_cspace_e">cups_cspace_e</a></li>
|
|
|
<li><a href="#cups_cut_e">cups_cut_e</a></li>
|
|
|
<li><a href="#cups_edge_e">cups_edge_e</a></li>
|
|
|
<li><a href="#cups_jog_e">cups_jog_e</a></li>
|
|
|
<li><a href="#cups_mode_e">cups_mode_e</a></li>
|
|
|
<li><a href="#cups_order_e">cups_order_e</a></li>
|
|
|
<li><a href="#cups_orient_e">cups_orient_e</a></li>
|
|
|
</ul></li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
<div class="body">
|
|
|
<!--
|
|
|
Raster API introduction for CUPS.
|
|
|
|
|
|
Copyright © 2007-2019 by Apple Inc.
|
|
|
Copyright © 1997-2006 by Easy Software Products, all rights reserved.
|
|
|
|
|
|
Licensed under Apache License v2.0. See the file "LICENSE" for more
|
|
|
information.
|
|
|
-->
|
|
|
|
|
|
<h2 class='title'><a name="OVERVIEW">Overview</a></h2>
|
|
|
|
|
|
<p>The CUPS raster API provides a standard interface for reading and writing
|
|
|
CUPS raster streams which are used for printing to raster printers. Because the
|
|
|
raster format is updated from time to time, it is important to use this API to
|
|
|
avoid incompatibilities with newer versions of CUPS.</p>
|
|
|
|
|
|
<p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
|
|
|
(RIP) filters such as <code>pstoraster</code> and <code>cgpdftoraster</code>
|
|
|
(macOS) that produce CUPS raster files and printer driver filters that
|
|
|
convert CUPS raster files into a format usable by the printer. Printer
|
|
|
driver filters are by far the most common.</p>
|
|
|
|
|
|
<p>CUPS raster files (<code>application/vnd.cups-raster</code>) consists of
|
|
|
a stream of raster page descriptions produced by one of the RIP filters such as
|
|
|
<var>pstoraster</var>, <var>imagetoraster</var>, or
|
|
|
<var>cgpdftoraster</var>. CUPS raster files are referred to using the
|
|
|
<a href='#cups_raster_t'><code>cups_raster_t</code></a> type and are
|
|
|
opened using the <a href='#cupsRasterOpen'><code>cupsRasterOpen</code></a>
|
|
|
function. For example, to read raster data from the standard input, open
|
|
|
file descriptor 0:</p>
|
|
|
|
|
|
<pre class="example">
|
|
|
#include <cups/raster.h>
|
|
|
|
|
|
<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
|
|
|
</pre>
|
|
|
|
|
|
<p>Each page of data begins with a page dictionary structure called
|
|
|
<a href="#cups_page_header2_t"><code>cups_page_header2_t</code></a>. This
|
|
|
structure contains the colorspace, bits per color, media size, media type,
|
|
|
hardware resolution, and so forth used for the page.</p>
|
|
|
|
|
|
<blockquote><b>Note:</b>
|
|
|
|
|
|
<p>Do not confuse the colorspace in the page header with the PPD
|
|
|
<tt>ColorModel</tt> keyword. <tt>ColorModel</tt> refers to the general type of
|
|
|
color used for a device (Gray, RGB, CMYK, DeviceN) and is often used to
|
|
|
select a particular colorspace for the page header along with the associate
|
|
|
color profile. The page header colorspace (<tt>cupsColorSpace</tt>) describes
|
|
|
both the type and organization of the color data, for example KCMY (black
|
|
|
first) instead of CMYK and RGBA (RGB + alpha) instead of RGB.</p>
|
|
|
|
|
|
</blockquote>
|
|
|
|
|
|
<p>You read the page header using the
|
|
|
<a href="#cupsRasterReadHeader2"><code>cupsRasterReadHeader2</code></a>
|
|
|
function:</p>
|
|
|
|
|
|
<pre class="example">
|
|
|
#include <cups/raster.h>
|
|
|
|
|
|
<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
|
|
|
<a href="#cups_page_header2_t">cups_page_header2_t</a> header;
|
|
|
|
|
|
while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &header))
|
|
|
{
|
|
|
/* setup this page */
|
|
|
|
|
|
/* read raster data */
|
|
|
|
|
|
/* finish this page */
|
|
|
}
|
|
|
</pre>
|
|
|
|
|
|
<p>After the page dictionary comes the page data which is a full-resolution,
|
|
|
possibly compressed bitmap representing the page in the printer's output
|
|
|
colorspace. You read uncompressed raster data using the
|
|
|
<a href="#cupsRasterReadPixels"><code>cupsRasterReadPixels</code></a>
|
|
|
function. A <code>for</code> loop is normally used to read the page one line
|
|
|
at a time:</p>
|
|
|
|
|
|
<pre class="example">
|
|
|
#include <cups/raster.h>
|
|
|
|
|
|
<a href="#cups_raster_t">cups_raster_t</a> *ras = <a href="#cupsRasterOpen">cupsRasterOpen</a>(0, CUPS_RASTER_READ);
|
|
|
<a href="#cups_page_header2_t">cups_page_header2_t</a> header;
|
|
|
int page = 0;
|
|
|
int y;
|
|
|
char *buffer;
|
|
|
|
|
|
while (<a href="#cupsRasterReadHeader2">cupsRasterReadHeader2</a>(ras, &header))
|
|
|
{
|
|
|
/* setup this page */
|
|
|
page ++;
|
|
|
fprintf(stderr, "PAGE: %d %d\n", page, header.NumCopies);
|
|
|
|
|
|
/* allocate memory for 1 line */
|
|
|
buffer = malloc(header.cupsBytesPerLine);
|
|
|
|
|
|
/* read raster data */
|
|
|
for (y = 0; y < header.cupsHeight; y ++)
|
|
|
{
|
|
|
if (<a href="#cupsRasterReadPixels">cupsRasterReadPixels</a>(ras, buffer, header.cupsBytesPerLine) == 0)
|
|
|
break;
|
|
|
|
|
|
/* write raster data to printer on stdout */
|
|
|
}
|
|
|
|
|
|
/* finish this page */
|
|
|
}
|
|
|
</pre>
|
|
|
|
|
|
<p>When you are done reading the raster data, call the
|
|
|
<a href="#cupsRasterClose"><code>cupsRasterClose</code></a> function to free
|
|
|
the memory used to read the raster file:</p>
|
|
|
|
|
|
<pre class="example">
|
|
|
<a href="#cups_raster_t">cups_raster_t</a> *ras;
|
|
|
|
|
|
<a href="#cupsRasterClose">cupsRasterClose</a>(ras);
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
<h2 class='title'><a name="TASKS">Functions by Task</a></h2>
|
|
|
|
|
|
<h3><a name="OPENCLOSE">Opening and Closing Raster Streams</a></h3>
|
|
|
|
|
|
<ul class="code">
|
|
|
|
|
|
<li><a href="#cupsRasterClose" title="Close a raster stream.">cupsRasterClose</a></li>
|
|
|
<li><a href="#cupsRasterOpen" title="Open a raster stream.">cupsRasterOpen</a></li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
<h3><a name="READING">Reading Raster Streams</a></h3>
|
|
|
|
|
|
<ul class="code">
|
|
|
|
|
|
<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/macOS 10.5</span></li>
|
|
|
<li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2</a></li>
|
|
|
<li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
<h3><a name="WRITING">Writing Raster Streams</a></h3>
|
|
|
|
|
|
<ul class="code">
|
|
|
|
|
|
<li><a href="#cupsRasterInitPWGHeader" title="Interpret IPP attributes to create a page header.">cupsRasterInitPWGHeader</a></li>
|
|
|
<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/macOS 10.5</span></li>
|
|
|
<li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
|
|
|
<li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
|
|
|
|
|
|
</ul>
|
|
|
<h2 class="title"><a id="FUNCTIONS">Functions</a></h2>
|
|
|
<h3 class="function"><a id="cupsRasterClose">cupsRasterClose</a></h3>
|
|
|
<p class="description">Close a raster stream.</p>
|
|
|
<p class="code">
|
|
|
void cupsRasterClose(<a href="#cups_raster_t">cups_raster_t</a> *r);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>r</th>
|
|
|
<td class="description">Stream to close</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">The file descriptor associated with the raster stream must be closed
|
|
|
separately as needed.</p>
|
|
|
<h3 class="function"><span class="info"> CUPS 1.3/macOS 10.5 </span><a id="cupsRasterErrorString">cupsRasterErrorString</a></h3>
|
|
|
<p class="description">Return the last error from a raster function.</p>
|
|
|
<p class="code">
|
|
|
const char *cupsRasterErrorString(void);</p>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">Last error or <code>NULL</code></p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">If there are no recent errors, <code>NULL</code> is returned.
|
|
|
|
|
|
</p>
|
|
|
<h3 class="function"><span class="info"> CUPS 2.2/macOS 10.12 </span><a id="cupsRasterInitPWGHeader">cupsRasterInitPWGHeader</a></h3>
|
|
|
<p class="description">Initialize a page header for PWG Raster output.</p>
|
|
|
<p class="code">
|
|
|
int cupsRasterInitPWGHeader(<a href="#cups_page_header2_t">cups_page_header2_t</a> *h, pwg_media_t *media, const char *type, int xdpi, int ydpi, const char *sides, const char *sheet_back);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>h</th>
|
|
|
<td class="description">Page header</td></tr>
|
|
|
<tr><th>media</th>
|
|
|
<td class="description">PWG media information</td></tr>
|
|
|
<tr><th>type</th>
|
|
|
<td class="description">PWG raster type string</td></tr>
|
|
|
<tr><th>xdpi</th>
|
|
|
<td class="description">Cross-feed direction (horizontal) resolution</td></tr>
|
|
|
<tr><th>ydpi</th>
|
|
|
<td class="description">Feed direction (vertical) resolution</td></tr>
|
|
|
<tr><th>sides</th>
|
|
|
<td class="description">IPP "sides" option value</td></tr>
|
|
|
<tr><th>sheet_back</th>
|
|
|
<td class="description">Transform for back side or <code>NULL</code> for none</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">1 on success, 0 on failure</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">The "media" argument specifies the media to use.<br>
|
|
|
<br>
|
|
|
The "type" argument specifies a "pwg-raster-document-type-supported" value
|
|
|
that controls the color space and bit depth of the raster data.<br>
|
|
|
<br>
|
|
|
The "xres" and "yres" arguments specify the raster resolution in dots per
|
|
|
inch.<br>
|
|
|
<br>
|
|
|
The "sheet_back" argument specifies a "pwg-raster-document-sheet-back" value
|
|
|
to apply for the back side of a page. Pass <code>NULL</code> for the front side.
|
|
|
|
|
|
</p>
|
|
|
<h3 class="function"><a id="cupsRasterOpen">cupsRasterOpen</a></h3>
|
|
|
<p class="description">Open a raster stream using a file descriptor.</p>
|
|
|
<p class="code">
|
|
|
<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpen(int fd, <a href="#cups_mode_t">cups_mode_t</a> mode);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>fd</th>
|
|
|
<td class="description">File descriptor</td></tr>
|
|
|
<tr><th>mode</th>
|
|
|
<td class="description">Mode - <code>CUPS_RASTER_READ</code>,
|
|
|
<code>CUPS_RASTER_WRITE</code>,
|
|
|
<code>CUPS_RASTER_WRITE_COMPRESSED</code>,
|
|
|
or <code>CUPS_RASTER_WRITE_PWG</code></td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">New stream</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">This function associates a raster stream with the given file descriptor.
|
|
|
For most printer driver filters, "fd" will be 0 (stdin). For most raster
|
|
|
image processor (RIP) filters that generate raster data, "fd" will be 1
|
|
|
(stdout).<br>
|
|
|
<br>
|
|
|
When writing raster data, the <code>CUPS_RASTER_WRITE</code>,
|
|
|
<code>CUPS_RASTER_WRITE_COMPRESS</code>, or <code>CUPS_RASTER_WRITE_PWG</code> mode can
|
|
|
be used - compressed and PWG output is generally 25-50% smaller but adds a
|
|
|
100-300% execution time overhead.</p>
|
|
|
<h3 class="function"><a id="cupsRasterOpenIO">cupsRasterOpenIO</a></h3>
|
|
|
<p class="description">Open a raster stream using a callback function.</p>
|
|
|
<p class="code">
|
|
|
<a href="#cups_raster_t">cups_raster_t</a> *cupsRasterOpenIO(<a href="#cups_raster_iocb_t">cups_raster_iocb_t</a> iocb, void *ctx, <a href="#cups_mode_t">cups_mode_t</a> mode);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>iocb</th>
|
|
|
<td class="description">Read/write callback</td></tr>
|
|
|
<tr><th>ctx</th>
|
|
|
<td class="description">Context pointer for callback</td></tr>
|
|
|
<tr><th>mode</th>
|
|
|
<td class="description">Mode - <code>CUPS_RASTER_READ</code>,
|
|
|
<code>CUPS_RASTER_WRITE</code>,
|
|
|
<code>CUPS_RASTER_WRITE_COMPRESSED</code>,
|
|
|
or <code>CUPS_RASTER_WRITE_PWG</code></td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">New stream</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">This function associates a raster stream with the given callback function and
|
|
|
context pointer.<br>
|
|
|
<br>
|
|
|
When writing raster data, the <code>CUPS_RASTER_WRITE</code>,
|
|
|
<code>CUPS_RASTER_WRITE_COMPRESS</code>, or <code>CUPS_RASTER_WRITE_PWG</code> mode can
|
|
|
be used - compressed and PWG output is generally 25-50% smaller but adds a
|
|
|
100-300% execution time overhead.</p>
|
|
|
<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsRasterReadHeader">cupsRasterReadHeader</a></h3>
|
|
|
<p class="description">Read a raster page header and store it in a
|
|
|
version 1 page header structure.</p>
|
|
|
<p class="code">
|
|
|
unsigned cupsRasterReadHeader(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header_t">cups_page_header_t</a> *h);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>r</th>
|
|
|
<td class="description">Raster stream</td></tr>
|
|
|
<tr><th>h</th>
|
|
|
<td class="description">Pointer to header data</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">1 on success, 0 on failure/end-of-file</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">This function is deprecated. Use <a href="#cupsRasterReadHeader2"><code>cupsRasterReadHeader2</code></a> instead.<br>
|
|
|
<br>
|
|
|
Version 1 page headers were used in CUPS 1.0 and 1.1 and contain a subset
|
|
|
of the version 2 page header data. This function handles reading version 2
|
|
|
page headers and copying only the version 1 data into the provided buffer.
|
|
|
|
|
|
</p>
|
|
|
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a id="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
|
|
|
<p class="description">Read a raster page header and store it in a
|
|
|
version 2 page header structure.</p>
|
|
|
<p class="code">
|
|
|
unsigned cupsRasterReadHeader2(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header2_t">cups_page_header2_t</a> *h);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>r</th>
|
|
|
<td class="description">Raster stream</td></tr>
|
|
|
<tr><th>h</th>
|
|
|
<td class="description">Pointer to header data</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">1 on success, 0 on failure/end-of-file</p>
|
|
|
<h3 class="function"><a id="cupsRasterReadPixels">cupsRasterReadPixels</a></h3>
|
|
|
<p class="description">Read raster pixels.</p>
|
|
|
<p class="code">
|
|
|
unsigned cupsRasterReadPixels(<a href="#cups_raster_t">cups_raster_t</a> *r, unsigned char *p, unsigned len);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>r</th>
|
|
|
<td class="description">Raster stream</td></tr>
|
|
|
<tr><th>p</th>
|
|
|
<td class="description">Pointer to pixel buffer</td></tr>
|
|
|
<tr><th>len</th>
|
|
|
<td class="description">Number of bytes to read</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">Number of bytes read</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">For best performance, filters should read one or more whole lines.
|
|
|
The "cupsBytesPerLine" value from the page header can be used to allocate
|
|
|
the line buffer and as the number of bytes to read.</p>
|
|
|
<h3 class="function"><span class="info"> DEPRECATED </span><a id="cupsRasterWriteHeader">cupsRasterWriteHeader</a></h3>
|
|
|
<p class="description">Write a raster page header from a version 1 page
|
|
|
header structure.</p>
|
|
|
<p class="code">
|
|
|
unsigned cupsRasterWriteHeader(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header_t">cups_page_header_t</a> *h);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>r</th>
|
|
|
<td class="description">Raster stream</td></tr>
|
|
|
<tr><th>h</th>
|
|
|
<td class="description">Raster page header</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">1 on success, 0 on failure</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">This function is deprecated. Use <a href="#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2</code></a> instead.
|
|
|
|
|
|
</p>
|
|
|
<h3 class="function"><span class="info"> CUPS 1.2/macOS 10.5 </span><a id="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
|
|
|
<p class="description">Write a raster page header from a version 2
|
|
|
page header structure.</p>
|
|
|
<p class="code">
|
|
|
unsigned cupsRasterWriteHeader2(<a href="#cups_raster_t">cups_raster_t</a> *r, <a href="#cups_page_header2_t">cups_page_header2_t</a> *h);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>r</th>
|
|
|
<td class="description">Raster stream</td></tr>
|
|
|
<tr><th>h</th>
|
|
|
<td class="description">Raster page header</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">1 on success, 0 on failure</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">The page header can be initialized using <a href="#cupsRasterInitPWGHeader"><code>cupsRasterInitPWGHeader</code></a>.
|
|
|
|
|
|
</p>
|
|
|
<h3 class="function"><a id="cupsRasterWritePixels">cupsRasterWritePixels</a></h3>
|
|
|
<p class="description">Write raster pixels.</p>
|
|
|
<p class="code">
|
|
|
unsigned cupsRasterWritePixels(<a href="#cups_raster_t">cups_raster_t</a> *r, unsigned char *p, unsigned len);</p>
|
|
|
<h4 class="parameters">Parameters</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>r</th>
|
|
|
<td class="description">Raster stream</td></tr>
|
|
|
<tr><th>p</th>
|
|
|
<td class="description">Bytes to write</td></tr>
|
|
|
<tr><th>len</th>
|
|
|
<td class="description">Number of bytes to write</td></tr>
|
|
|
</tbody></table>
|
|
|
<h4 class="returnvalue">Return Value</h4>
|
|
|
<p class="description">Number of bytes written</p>
|
|
|
<h4 class="discussion">Discussion</h4>
|
|
|
<p class="discussion">For best performance, filters should write one or more whole lines.
|
|
|
The "cupsBytesPerLine" value from the page header can be used to allocate
|
|
|
the line buffer and as the number of bytes to write.</p>
|
|
|
<h2 class="title"><a id="TYPES">Data Types</a></h2>
|
|
|
<h3 class="typedef"><a id="cups_adv_t">cups_adv_t</a></h3>
|
|
|
<p class="description">AdvanceMedia attribute values</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_adv_e">cups_adv_e</a> cups_adv_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_bool_t">cups_bool_t</a></h3>
|
|
|
<p class="description">Boolean type</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_bool_e">cups_bool_e</a> cups_bool_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_cspace_t">cups_cspace_t</a></h3>
|
|
|
<p class="description">cupsColorSpace attribute values</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_cspace_e">cups_cspace_e</a> cups_cspace_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_cut_t">cups_cut_t</a></h3>
|
|
|
<p class="description">CutMedia attribute values</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_cut_e">cups_cut_e</a> cups_cut_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_edge_t">cups_edge_t</a></h3>
|
|
|
<p class="description">LeadingEdge attribute values</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_edge_e">cups_edge_e</a> cups_edge_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_jog_t">cups_jog_t</a></h3>
|
|
|
<p class="description">Jog attribute values</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_jog_e">cups_jog_e</a> cups_jog_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_mode_t">cups_mode_t</a></h3>
|
|
|
<p class="description">cupsRasterOpen modes</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_mode_e">cups_mode_e</a> cups_mode_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_order_t">cups_order_t</a></h3>
|
|
|
<p class="description">cupsColorOrder attribute values</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_order_e">cups_order_e</a> cups_order_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_orient_t">cups_orient_t</a></h3>
|
|
|
<p class="description">Orientation attribute values</p>
|
|
|
<p class="code">
|
|
|
typedef enum <a href="#cups_orient_e">cups_orient_e</a> cups_orient_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_page_header2_t"><span class="info"> CUPS 1.2/macOS 10.5 </span>cups_page_header2_t</a></h3>
|
|
|
<p class="description">Version 2 page header </p>
|
|
|
<p class="code">
|
|
|
typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_page_header_t"><span class="info"> DEPRECATED </span>cups_page_header_t</a></h3>
|
|
|
<p class="description">Version 1 page header </p>
|
|
|
<p class="code">
|
|
|
typedef struct <a href="#cups_page_header_s">cups_page_header_s</a> cups_page_header_t;
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_raster_iocb_t">cups_raster_iocb_t</a></h3>
|
|
|
<p class="description">cupsRasterOpenIO callback function</p>
|
|
|
<p class="code">
|
|
|
typedef ssize_t (*cups_raster_iocb_t)(void *ctx, unsigned char *buffer, size_t length);
|
|
|
</p>
|
|
|
<h3 class="typedef"><a id="cups_raster_t">cups_raster_t</a></h3>
|
|
|
<p class="description">Raster stream data</p>
|
|
|
<p class="code">
|
|
|
typedef struct _cups_raster_s cups_raster_t;
|
|
|
</p>
|
|
|
<h2 class="title"><a id="STRUCTURES">Structures</a></h2>
|
|
|
<h3 class="struct"><span class="info"> CUPS 1.2/macOS 10.5 </span><a id="cups_page_header2_s">cups_page_header2_s</a></h3>
|
|
|
<p class="description">Version 2 page header </p>
|
|
|
<p class="code">struct cups_page_header2_s {<br>
|
|
|
    unsigned AdvanceDistance;<br>
|
|
|
    <a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Collate;<br>
|
|
|
    <a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Duplex;<br>
|
|
|
    unsigned HWResolution[2];<br>
|
|
|
    unsigned ImagingBoundingBox[4];<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br>
|
|
|
    <a href="#cups_jog_t">cups_jog_t</a> Jog;<br>
|
|
|
    <a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br>
|
|
|
    unsigned Margins[2];<br>
|
|
|
    char MediaClass[64];<br>
|
|
|
    char MediaColor[64];<br>
|
|
|
    unsigned MediaPosition;<br>
|
|
|
    char MediaType[64];<br>
|
|
|
    unsigned MediaWeight;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br>
|
|
|
    unsigned NumCopies;<br>
|
|
|
    <a href="#cups_orient_t">cups_orient_t</a> Orientation;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br>
|
|
|
    char OutputType[64];<br>
|
|
|
    unsigned PageSize[2];<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Separations;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Tumble;<br>
|
|
|
    unsigned cupsBitsPerColor;<br>
|
|
|
    unsigned cupsBitsPerPixel;<br>
|
|
|
    float cupsBorderlessScalingFactor;<br>
|
|
|
    unsigned cupsBytesPerLine;<br>
|
|
|
    <a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br>
|
|
|
    <a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br>
|
|
|
    unsigned cupsCompression;<br>
|
|
|
    unsigned cupsHeight;<br>
|
|
|
    float cupsImagingBBox[4];<br>
|
|
|
    unsigned cupsInteger[16];<br>
|
|
|
    char cupsMarkerType[64];<br>
|
|
|
    unsigned cupsMediaType;<br>
|
|
|
    unsigned cupsNumColors;<br>
|
|
|
    char cupsPageSizeName[64];<br>
|
|
|
    float cupsPageSize[2];<br>
|
|
|
    float cupsReal[16];<br>
|
|
|
    char cupsRenderingIntent[64];<br>
|
|
|
    unsigned cupsRowCount;<br>
|
|
|
    unsigned cupsRowFeed;<br>
|
|
|
    unsigned cupsRowStep;<br>
|
|
|
    char cupsString[16][64];<br>
|
|
|
    unsigned cupsWidth;<br>
|
|
|
};</p>
|
|
|
<h4 class="members">Members</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>AdvanceDistance </th>
|
|
|
<td class="description">AdvanceDistance value in points</td></tr>
|
|
|
<tr><th>AdvanceMedia </th>
|
|
|
<td class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</td></tr>
|
|
|
<tr><th>Collate </th>
|
|
|
<td class="description">Collated copies value</td></tr>
|
|
|
<tr><th>CutMedia </th>
|
|
|
<td class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</td></tr>
|
|
|
<tr><th>Duplex </th>
|
|
|
<td class="description">Duplexed (double-sided) value</td></tr>
|
|
|
<tr><th>HWResolution[2] </th>
|
|
|
<td class="description">Resolution in dots-per-inch</td></tr>
|
|
|
<tr><th>ImagingBoundingBox[4] </th>
|
|
|
<td class="description">Pixel region that is painted (points, left, bottom, right, top)</td></tr>
|
|
|
<tr><th>InsertSheet </th>
|
|
|
<td class="description">InsertSheet value</td></tr>
|
|
|
<tr><th>Jog </th>
|
|
|
<td class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</td></tr>
|
|
|
<tr><th>LeadingEdge </th>
|
|
|
<td class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</td></tr>
|
|
|
<tr><th>ManualFeed </th>
|
|
|
<td class="description">ManualFeed value</td></tr>
|
|
|
<tr><th>Margins[2] </th>
|
|
|
<td class="description">Lower-lefthand margins in points</td></tr>
|
|
|
<tr><th>MediaClass[64] </th>
|
|
|
<td class="description">MediaClass string</td></tr>
|
|
|
<tr><th>MediaColor[64] </th>
|
|
|
<td class="description">MediaColor string</td></tr>
|
|
|
<tr><th>MediaPosition </th>
|
|
|
<td class="description">MediaPosition value</td></tr>
|
|
|
<tr><th>MediaType[64] </th>
|
|
|
<td class="description">MediaType string</td></tr>
|
|
|
<tr><th>MediaWeight </th>
|
|
|
<td class="description">MediaWeight value in grams/m^2</td></tr>
|
|
|
<tr><th>MirrorPrint </th>
|
|
|
<td class="description">MirrorPrint value</td></tr>
|
|
|
<tr><th>NegativePrint </th>
|
|
|
<td class="description">NegativePrint value</td></tr>
|
|
|
<tr><th>NumCopies </th>
|
|
|
<td class="description">Number of copies to produce</td></tr>
|
|
|
<tr><th>Orientation </th>
|
|
|
<td class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</td></tr>
|
|
|
<tr><th>OutputFaceUp </th>
|
|
|
<td class="description">OutputFaceUp value</td></tr>
|
|
|
<tr><th>OutputType[64] </th>
|
|
|
<td class="description">OutputType string</td></tr>
|
|
|
<tr><th>PageSize[2] </th>
|
|
|
<td class="description">Width and length of page in points</td></tr>
|
|
|
<tr><th>Separations </th>
|
|
|
<td class="description">Separations value</td></tr>
|
|
|
<tr><th>TraySwitch </th>
|
|
|
<td class="description">TraySwitch value</td></tr>
|
|
|
<tr><th>Tumble </th>
|
|
|
<td class="description">Tumble value</td></tr>
|
|
|
<tr><th>cupsBitsPerColor </th>
|
|
|
<td class="description">Number of bits for each color</td></tr>
|
|
|
<tr><th>cupsBitsPerPixel </th>
|
|
|
<td class="description">Number of bits for each pixel</td></tr>
|
|
|
<tr><th>cupsBorderlessScalingFactor <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">Scaling that was applied to page data </td></tr>
|
|
|
<tr><th>cupsBytesPerLine </th>
|
|
|
<td class="description">Number of bytes per line</td></tr>
|
|
|
<tr><th>cupsColorOrder </th>
|
|
|
<td class="description">Order of colors</td></tr>
|
|
|
<tr><th>cupsColorSpace </th>
|
|
|
<td class="description">True colorspace</td></tr>
|
|
|
<tr><th>cupsCompression </th>
|
|
|
<td class="description">Device compression to use</td></tr>
|
|
|
<tr><th>cupsHeight </th>
|
|
|
<td class="description">Height of page image in pixels</td></tr>
|
|
|
<tr><th>cupsImagingBBox[4] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">Floating point ImagingBoundingBox
|
|
|
(scaling factor not applied, left,
|
|
|
bottom, right, top) </td></tr>
|
|
|
<tr><th>cupsInteger[16] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">User-defined integer values </td></tr>
|
|
|
<tr><th>cupsMarkerType[64] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">Ink/toner type </td></tr>
|
|
|
<tr><th>cupsMediaType </th>
|
|
|
<td class="description">Media type code</td></tr>
|
|
|
<tr><th>cupsNumColors <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">Number of color compoents </td></tr>
|
|
|
<tr><th>cupsPageSizeName[64] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">PageSize name </td></tr>
|
|
|
<tr><th>cupsPageSize[2] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">Floating point PageSize (scaling *
|
|
|
factor not applied) </td></tr>
|
|
|
<tr><th>cupsReal[16] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">User-defined floating-point values </td></tr>
|
|
|
<tr><th>cupsRenderingIntent[64] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">Color rendering intent </td></tr>
|
|
|
<tr><th>cupsRowCount </th>
|
|
|
<td class="description">Rows per band</td></tr>
|
|
|
<tr><th>cupsRowFeed </th>
|
|
|
<td class="description">Feed between bands</td></tr>
|
|
|
<tr><th>cupsRowStep </th>
|
|
|
<td class="description">Spacing between lines</td></tr>
|
|
|
<tr><th>cupsString[16][64] <span class="info"> CUPS 1.2/macOS 10.5 </span></th>
|
|
|
<td class="description">User-defined string values </td></tr>
|
|
|
<tr><th>cupsWidth </th>
|
|
|
<td class="description">Width of page image in pixels</td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="struct"><span class="info"> DEPRECATED </span><a id="cups_page_header_s">cups_page_header_s</a></h3>
|
|
|
<p class="description">Version 1 page header </p>
|
|
|
<p class="code">struct cups_page_header_s {<br>
|
|
|
    unsigned AdvanceDistance;<br>
|
|
|
    <a href="#cups_adv_t">cups_adv_t</a> AdvanceMedia;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Collate;<br>
|
|
|
    <a href="#cups_cut_t">cups_cut_t</a> CutMedia;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Duplex;<br>
|
|
|
    unsigned HWResolution[2];<br>
|
|
|
    unsigned ImagingBoundingBox[4];<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> InsertSheet;<br>
|
|
|
    <a href="#cups_jog_t">cups_jog_t</a> Jog;<br>
|
|
|
    <a href="#cups_edge_t">cups_edge_t</a> LeadingEdge;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> ManualFeed;<br>
|
|
|
    unsigned Margins[2];<br>
|
|
|
    char MediaClass[64];<br>
|
|
|
    char MediaColor[64];<br>
|
|
|
    unsigned MediaPosition;<br>
|
|
|
    char MediaType[64];<br>
|
|
|
    unsigned MediaWeight;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> MirrorPrint;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> NegativePrint;<br>
|
|
|
    unsigned NumCopies;<br>
|
|
|
    <a href="#cups_orient_t">cups_orient_t</a> Orientation;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> OutputFaceUp;<br>
|
|
|
    char OutputType[64];<br>
|
|
|
    unsigned PageSize[2];<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Separations;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> TraySwitch;<br>
|
|
|
    <a href="#cups_bool_t">cups_bool_t</a> Tumble;<br>
|
|
|
    unsigned cupsBitsPerColor;<br>
|
|
|
    unsigned cupsBitsPerPixel;<br>
|
|
|
    unsigned cupsBytesPerLine;<br>
|
|
|
    <a href="#cups_order_t">cups_order_t</a> cupsColorOrder;<br>
|
|
|
    <a href="#cups_cspace_t">cups_cspace_t</a> cupsColorSpace;<br>
|
|
|
    unsigned cupsCompression;<br>
|
|
|
    unsigned cupsHeight;<br>
|
|
|
    unsigned cupsMediaType;<br>
|
|
|
    unsigned cupsRowCount;<br>
|
|
|
    unsigned cupsRowFeed;<br>
|
|
|
    unsigned cupsRowStep;<br>
|
|
|
    unsigned cupsWidth;<br>
|
|
|
};</p>
|
|
|
<h4 class="members">Members</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>AdvanceDistance </th>
|
|
|
<td class="description">AdvanceDistance value in points</td></tr>
|
|
|
<tr><th>AdvanceMedia </th>
|
|
|
<td class="description">AdvanceMedia value (<a href="#cups_adv_t"><code>cups_adv_t</code></a>)</td></tr>
|
|
|
<tr><th>Collate </th>
|
|
|
<td class="description">Collated copies value</td></tr>
|
|
|
<tr><th>CutMedia </th>
|
|
|
<td class="description">CutMedia value (<a href="#cups_cut_t"><code>cups_cut_t</code></a>)</td></tr>
|
|
|
<tr><th>Duplex </th>
|
|
|
<td class="description">Duplexed (double-sided) value</td></tr>
|
|
|
<tr><th>HWResolution[2] </th>
|
|
|
<td class="description">Resolution in dots-per-inch</td></tr>
|
|
|
<tr><th>ImagingBoundingBox[4] </th>
|
|
|
<td class="description">Pixel region that is painted (points, left, bottom, right, top)</td></tr>
|
|
|
<tr><th>InsertSheet </th>
|
|
|
<td class="description">InsertSheet value</td></tr>
|
|
|
<tr><th>Jog </th>
|
|
|
<td class="description">Jog value (<a href="#cups_jog_t"><code>cups_jog_t</code></a>)</td></tr>
|
|
|
<tr><th>LeadingEdge </th>
|
|
|
<td class="description">LeadingEdge value (<a href="#cups_edge_t"><code>cups_edge_t</code></a>)</td></tr>
|
|
|
<tr><th>ManualFeed </th>
|
|
|
<td class="description">ManualFeed value</td></tr>
|
|
|
<tr><th>Margins[2] </th>
|
|
|
<td class="description">Lower-lefthand margins in points</td></tr>
|
|
|
<tr><th>MediaClass[64] </th>
|
|
|
<td class="description">MediaClass string</td></tr>
|
|
|
<tr><th>MediaColor[64] </th>
|
|
|
<td class="description">MediaColor string</td></tr>
|
|
|
<tr><th>MediaPosition </th>
|
|
|
<td class="description">MediaPosition value</td></tr>
|
|
|
<tr><th>MediaType[64] </th>
|
|
|
<td class="description">MediaType string</td></tr>
|
|
|
<tr><th>MediaWeight </th>
|
|
|
<td class="description">MediaWeight value in grams/m^2</td></tr>
|
|
|
<tr><th>MirrorPrint </th>
|
|
|
<td class="description">MirrorPrint value</td></tr>
|
|
|
<tr><th>NegativePrint </th>
|
|
|
<td class="description">NegativePrint value</td></tr>
|
|
|
<tr><th>NumCopies </th>
|
|
|
<td class="description">Number of copies to produce</td></tr>
|
|
|
<tr><th>Orientation </th>
|
|
|
<td class="description">Orientation value (<a href="#cups_orient_t"><code>cups_orient_t</code></a>)</td></tr>
|
|
|
<tr><th>OutputFaceUp </th>
|
|
|
<td class="description">OutputFaceUp value</td></tr>
|
|
|
<tr><th>OutputType[64] </th>
|
|
|
<td class="description">OutputType string</td></tr>
|
|
|
<tr><th>PageSize[2] </th>
|
|
|
<td class="description">Width and length of page in points</td></tr>
|
|
|
<tr><th>Separations </th>
|
|
|
<td class="description">Separations value</td></tr>
|
|
|
<tr><th>TraySwitch </th>
|
|
|
<td class="description">TraySwitch value</td></tr>
|
|
|
<tr><th>Tumble </th>
|
|
|
<td class="description">Tumble value</td></tr>
|
|
|
<tr><th>cupsBitsPerColor </th>
|
|
|
<td class="description">Number of bits for each color</td></tr>
|
|
|
<tr><th>cupsBitsPerPixel </th>
|
|
|
<td class="description">Number of bits for each pixel</td></tr>
|
|
|
<tr><th>cupsBytesPerLine </th>
|
|
|
<td class="description">Number of bytes per line</td></tr>
|
|
|
<tr><th>cupsColorOrder </th>
|
|
|
<td class="description">Order of colors</td></tr>
|
|
|
<tr><th>cupsColorSpace </th>
|
|
|
<td class="description">True colorspace</td></tr>
|
|
|
<tr><th>cupsCompression </th>
|
|
|
<td class="description">Device compression to use</td></tr>
|
|
|
<tr><th>cupsHeight </th>
|
|
|
<td class="description">Height of page image in pixels</td></tr>
|
|
|
<tr><th>cupsMediaType </th>
|
|
|
<td class="description">Media type code</td></tr>
|
|
|
<tr><th>cupsRowCount </th>
|
|
|
<td class="description">Rows per band</td></tr>
|
|
|
<tr><th>cupsRowFeed </th>
|
|
|
<td class="description">Feed between bands</td></tr>
|
|
|
<tr><th>cupsRowStep </th>
|
|
|
<td class="description">Spacing between lines</td></tr>
|
|
|
<tr><th>cupsWidth </th>
|
|
|
<td class="description">Width of page image in pixels</td></tr>
|
|
|
</tbody></table>
|
|
|
<h2 class="title"><a id="ENUMERATIONS">Constants</a></h2>
|
|
|
<h3 class="enumeration"><a id="cups_adv_e">cups_adv_e</a></h3>
|
|
|
<p class="description">AdvanceMedia attribute values</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_ADVANCE_FILE </th> <td class="description">Advance the roll after this file</td></tr>
|
|
|
<tr><th>CUPS_ADVANCE_JOB </th> <td class="description">Advance the roll after this job</td></tr>
|
|
|
<tr><th>CUPS_ADVANCE_NONE </th> <td class="description">Never advance the roll</td></tr>
|
|
|
<tr><th>CUPS_ADVANCE_PAGE </th> <td class="description">Advance the roll after this page</td></tr>
|
|
|
<tr><th>CUPS_ADVANCE_SET </th> <td class="description">Advance the roll after this set</td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_bool_e">cups_bool_e</a></h3>
|
|
|
<p class="description">Boolean type</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_FALSE </th> <td class="description">Logical false</td></tr>
|
|
|
<tr><th>CUPS_TRUE </th> <td class="description">Logical true</td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_cspace_e">cups_cspace_e</a></h3>
|
|
|
<p class="description">cupsColorSpace attribute values</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_CSPACE_ADOBERGB <span class="info"> CUPS 1.4.5 </span></th> <td class="description">Red, green, blue (Adobe RGB) </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_CIELab <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">CIE Lab </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_CIEXYZ <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">CIE XYZ </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_CMY </th> <td class="description">Cyan, magenta, yellow (DeviceCMY)</td></tr>
|
|
|
<tr><th>CUPS_CSPACE_CMYK </th> <td class="description">Cyan, magenta, yellow, black (DeviceCMYK)</td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE1 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 1 color </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE2 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 2 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE3 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 3 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE4 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 4 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE5 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 5 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE6 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 6 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE7 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 7 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE8 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 8 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICE9 <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 9 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICEA <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 10 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICEB <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 11 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICEC <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 12 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICED <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 13 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICEE <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 14 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_DEVICEF <span class="info"> CUPS 1.4.5 </span></th> <td class="description">DeviceN, 15 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_GMCK <span class="info"> DEPRECATED </span></th> <td class="description">Gold, magenta, yellow, black </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_GMCS <span class="info"> DEPRECATED </span></th> <td class="description">Gold, magenta, yellow, silver </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_GOLD <span class="info"> DEPRECATED </span></th> <td class="description">Gold foil </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC1 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 1 color </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC2 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 2 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC3 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 3 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC4 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 4 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC5 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 5 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC6 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 6 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC7 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 7 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC8 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 8 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICC9 <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 9 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICCA <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 10 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICCB <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 11 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICCC <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 12 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICCD <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 13 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICCE <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 14 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_ICCF <span class="info"> CUPS 1.1.19/macOS 10.3 </span></th> <td class="description">ICC-based, 15 colors </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_K </th> <td class="description">Black (DeviceK)</td></tr>
|
|
|
<tr><th>CUPS_CSPACE_KCMY <span class="info"> DEPRECATED </span></th> <td class="description">Black, cyan, magenta, yellow </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_KCMYcm <span class="info"> DEPRECATED </span></th> <td class="description">Black, cyan, magenta, yellow, light-cyan, light-magenta </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_RGB </th> <td class="description">Red, green, blue (DeviceRGB, sRGB by default)</td></tr>
|
|
|
<tr><th>CUPS_CSPACE_RGBA </th> <td class="description">Red, green, blue, alpha (DeviceRGB, sRGB by default)</td></tr>
|
|
|
<tr><th>CUPS_CSPACE_RGBW <span class="info"> CUPS 1.2/macOS 10.5 </span></th> <td class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_SILVER <span class="info"> DEPRECATED </span></th> <td class="description">Silver foil </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_SRGB <span class="info"> CUPS 1.4.5 </span></th> <td class="description">Red, green, blue (sRGB) </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_SW <span class="info"> CUPS 1.4.5 </span></th> <td class="description">Luminance (gamma 2.2) </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_W </th> <td class="description">Luminance (DeviceGray, gamma 2.2 by default)</td></tr>
|
|
|
<tr><th>CUPS_CSPACE_WHITE <span class="info"> DEPRECATED </span></th> <td class="description">White ink (as black) </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_YMC <span class="info"> DEPRECATED </span></th> <td class="description">Yellow, magenta, cyan </td></tr>
|
|
|
<tr><th>CUPS_CSPACE_YMCK <span class="info"> DEPRECATED </span></th> <td class="description">Yellow, magenta, cyan, black </td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_cut_e">cups_cut_e</a></h3>
|
|
|
<p class="description">CutMedia attribute values</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_CUT_FILE </th> <td class="description">Cut the roll after this file</td></tr>
|
|
|
<tr><th>CUPS_CUT_JOB </th> <td class="description">Cut the roll after this job</td></tr>
|
|
|
<tr><th>CUPS_CUT_NONE </th> <td class="description">Never cut the roll</td></tr>
|
|
|
<tr><th>CUPS_CUT_PAGE </th> <td class="description">Cut the roll after this page</td></tr>
|
|
|
<tr><th>CUPS_CUT_SET </th> <td class="description">Cut the roll after this set</td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_edge_e">cups_edge_e</a></h3>
|
|
|
<p class="description">LeadingEdge attribute values</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_EDGE_BOTTOM </th> <td class="description">Leading edge is the bottom of the page</td></tr>
|
|
|
<tr><th>CUPS_EDGE_LEFT </th> <td class="description">Leading edge is the left of the page</td></tr>
|
|
|
<tr><th>CUPS_EDGE_RIGHT </th> <td class="description">Leading edge is the right of the page</td></tr>
|
|
|
<tr><th>CUPS_EDGE_TOP </th> <td class="description">Leading edge is the top of the page</td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_jog_e">cups_jog_e</a></h3>
|
|
|
<p class="description">Jog attribute values</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_JOG_FILE </th> <td class="description">Move pages after this file</td></tr>
|
|
|
<tr><th>CUPS_JOG_JOB </th> <td class="description">Move pages after this job</td></tr>
|
|
|
<tr><th>CUPS_JOG_NONE </th> <td class="description">Never move pages</td></tr>
|
|
|
<tr><th>CUPS_JOG_SET </th> <td class="description">Move pages after this set</td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_mode_e">cups_mode_e</a></h3>
|
|
|
<p class="description">cupsRasterOpen modes</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_RASTER_READ </th> <td class="description">Open stream for reading</td></tr>
|
|
|
<tr><th>CUPS_RASTER_WRITE </th> <td class="description">Open stream for writing</td></tr>
|
|
|
<tr><th>CUPS_RASTER_WRITE_COMPRESSED <span class="info"> CUPS 1.3/macOS 10.5 </span></th> <td class="description">Open stream for compressed writing </td></tr>
|
|
|
<tr><th>CUPS_RASTER_WRITE_PWG <span class="info"> CUPS 1.5/macOS 10.7 </span></th> <td class="description">Open stream for compressed writing in PWG Raster mode </td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_order_e">cups_order_e</a></h3>
|
|
|
<p class="description">cupsColorOrder attribute values</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_ORDER_BANDED </th> <td class="description">CCC MMM YYY KKK ...</td></tr>
|
|
|
<tr><th>CUPS_ORDER_CHUNKED </th> <td class="description">CMYK CMYK CMYK ...</td></tr>
|
|
|
<tr><th>CUPS_ORDER_PLANAR </th> <td class="description">CCC ... MMM ... YYY ... KKK ...</td></tr>
|
|
|
</tbody></table>
|
|
|
<h3 class="enumeration"><a id="cups_orient_e">cups_orient_e</a></h3>
|
|
|
<p class="description">Orientation attribute values</p>
|
|
|
<h4 class="constants">Constants</h4>
|
|
|
<table class="list"><tbody>
|
|
|
<tr><th>CUPS_ORIENT_0 </th> <td class="description">Don't rotate the page</td></tr>
|
|
|
<tr><th>CUPS_ORIENT_180 </th> <td class="description">Turn the page upside down</td></tr>
|
|
|
<tr><th>CUPS_ORIENT_270 </th> <td class="description">Rotate the page clockwise</td></tr>
|
|
|
<tr><th>CUPS_ORIENT_90 </th> <td class="description">Rotate the page counter-clockwise</td></tr>
|
|
|
</tbody></table>
|
|
|
</div>
|
|
|
</body>
|
|
|
</html>
|