4
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
5
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
6
<title>libgutenprint API Reference: stp_image Struct Reference</title>
8
7
<link href="tabs.css" rel="stylesheet" type="text/css"/>
8
<script type="text/javascript" src="jquery.js"></script>
9
<script type="text/javascript" src="dynsections.js"></script>
9
10
<link href="doxygen.css" rel="stylesheet" type="text/css" />
15
<div id="top"><!-- do not remove this div! -->
13
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
18
14
<div id="titlearea">
19
15
<table cellspacing="0" cellpadding="0">
21
17
<tr style="height: 56px;">
24
18
<td style="padding-left: 0.5em;">
25
19
<div id="projectname">libgutenprint API Reference
26
 <span id="projectnumber">5.2.8-pre1</span>
20
 <span id="projectnumber">5.2.8</span>
38
<!-- Generated by Doxygen 1.7.6.1 -->
27
<!-- end header part -->
28
<!-- Generated by Doxygen 1.8.1 -->
39
29
<div id="navrow1" class="tabs">
40
30
<ul class="tablist">
41
31
<li><a href="index.html"><span>Main Page</span></a></li>
60
50
<div class="title">stp_image Struct Reference<div class="ingroups"><a class="el" href="group__image.html">image</a></div></div> </div>
61
51
</div><!--header-->
62
52
<div class="contents">
63
<!-- doxytag: class="stp_image" -->
64
54
<p>The image type is an abstract data type for interfacing with the image creation program.
65
55
<a href="structstp__image.html#details">More...</a></p>
67
57
<p><code>#include <image.h></code></p>
68
58
<table class="memberdecls">
69
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
59
<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
70
60
Data Fields</h2></td></tr>
71
<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#ace69bf25344a814cabea38afa4527086">init</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
72
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback is used to perform any initialization required by the image layer for the image. <a href="#ace69bf25344a814cabea38afa4527086"></a><br/></td></tr>
73
<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a7bb2244368c6b1e07d27afb3dd249ffd">reset</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
74
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback is called to reset the image to the beginning. <a href="#a7bb2244368c6b1e07d27afb3dd249ffd"></a><br/></td></tr>
75
<tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a890033525988e15f4f4a0b4132e5f19b">width</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
76
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback returns the width of the image in pixels. <a href="#a890033525988e15f4f4a0b4132e5f19b"></a><br/></td></tr>
77
<tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a4977ad211581999a3f3290983929cce9">height</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
78
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback returns the height of the image in pixels. <a href="#a4977ad211581999a3f3290983929cce9"></a><br/></td></tr>
79
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__image.html#ga58672e1989d582c14328048b207657c8">stp_image_status_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a8f7f8fb5826f52b8bd820f422c583350">get_row</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image, unsigned char *data, size_t byte_limit, int row)</td></tr>
80
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback transfers the data from the image to the gimp-print library. <a href="#a8f7f8fb5826f52b8bd820f422c583350"></a><br/></td></tr>
81
<tr><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a56636ad7c0dbf0a82284241f796d95cd">get_appname</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
82
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback returns the name of the application. <a href="#a56636ad7c0dbf0a82284241f796d95cd"></a><br/></td></tr>
83
<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a5d2385711b303e055258c28f42ab7f4c">conclude</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
84
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback is called at the end of each page. <a href="#a5d2385711b303e055258c28f42ab7f4c"></a><br/></td></tr>
85
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#ab18e6ee35037589bf485213022e2d871">rep</a></td></tr>
86
<tr><td class="mdescLeft"> </td><td class="mdescRight">A pointer to an application-specific state information that might need to be associated with the image object. <a href="#ab18e6ee35037589bf485213022e2d871"></a><br/></td></tr>
61
<tr class="memitem:ace69bf25344a814cabea38afa4527086"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#ace69bf25344a814cabea38afa4527086">init</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
62
<tr class="memdesc:ace69bf25344a814cabea38afa4527086"><td class="mdescLeft"> </td><td class="mdescRight">This callback is used to perform any initialization required by the image layer for the image. <a href="#ace69bf25344a814cabea38afa4527086"></a><br/></td></tr>
63
<tr class="memitem:a7bb2244368c6b1e07d27afb3dd249ffd"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a7bb2244368c6b1e07d27afb3dd249ffd">reset</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
64
<tr class="memdesc:a7bb2244368c6b1e07d27afb3dd249ffd"><td class="mdescLeft"> </td><td class="mdescRight">This callback is called to reset the image to the beginning. <a href="#a7bb2244368c6b1e07d27afb3dd249ffd"></a><br/></td></tr>
65
<tr class="memitem:a890033525988e15f4f4a0b4132e5f19b"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a890033525988e15f4f4a0b4132e5f19b">width</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
66
<tr class="memdesc:a890033525988e15f4f4a0b4132e5f19b"><td class="mdescLeft"> </td><td class="mdescRight">This callback returns the width of the image in pixels. <a href="#a890033525988e15f4f4a0b4132e5f19b"></a><br/></td></tr>
67
<tr class="memitem:a4977ad211581999a3f3290983929cce9"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a4977ad211581999a3f3290983929cce9">height</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
68
<tr class="memdesc:a4977ad211581999a3f3290983929cce9"><td class="mdescLeft"> </td><td class="mdescRight">This callback returns the height of the image in pixels. <a href="#a4977ad211581999a3f3290983929cce9"></a><br/></td></tr>
69
<tr class="memitem:a8f7f8fb5826f52b8bd820f422c583350"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__image.html#ga58672e1989d582c14328048b207657c8">stp_image_status_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a8f7f8fb5826f52b8bd820f422c583350">get_row</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image, unsigned char *data, size_t byte_limit, int row)</td></tr>
70
<tr class="memdesc:a8f7f8fb5826f52b8bd820f422c583350"><td class="mdescLeft"> </td><td class="mdescRight">This callback transfers the data from the image to the gimp-print library. <a href="#a8f7f8fb5826f52b8bd820f422c583350"></a><br/></td></tr>
71
<tr class="memitem:a56636ad7c0dbf0a82284241f796d95cd"><td class="memItemLeft" align="right" valign="top">const char *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a56636ad7c0dbf0a82284241f796d95cd">get_appname</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
72
<tr class="memdesc:a56636ad7c0dbf0a82284241f796d95cd"><td class="mdescLeft"> </td><td class="mdescRight">This callback returns the name of the application. <a href="#a56636ad7c0dbf0a82284241f796d95cd"></a><br/></td></tr>
73
<tr class="memitem:a5d2385711b303e055258c28f42ab7f4c"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#a5d2385711b303e055258c28f42ab7f4c">conclude</a> )(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td></tr>
74
<tr class="memdesc:a5d2385711b303e055258c28f42ab7f4c"><td class="mdescLeft"> </td><td class="mdescRight">This callback is called at the end of each page. <a href="#a5d2385711b303e055258c28f42ab7f4c"></a><br/></td></tr>
75
<tr class="memitem:ab18e6ee35037589bf485213022e2d871"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__image.html#ab18e6ee35037589bf485213022e2d871">rep</a></td></tr>
76
<tr class="memdesc:ab18e6ee35037589bf485213022e2d871"><td class="mdescLeft"> </td><td class="mdescRight">A pointer to an application-specific state information that might need to be associated with the image object. <a href="#ab18e6ee35037589bf485213022e2d871"></a><br/></td></tr>
88
78
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
89
79
<div class="textblock"><p>The image type is an abstract data type for interfacing with the image creation program. </p>
90
80
<p>It provides callbacks to functions defined within the client application which are called while printing the image. </p>
91
81
</div><hr/><h2>Field Documentation</h2>
92
<a class="anchor" id="a5d2385711b303e055258c28f42ab7f4c"></a><!-- doxytag: member="stp_image::conclude" ref="a5d2385711b303e055258c28f42ab7f4c" args=")(struct stp_image *image)" -->
82
<a class="anchor" id="a5d2385711b303e055258c28f42ab7f4c"></a>
93
83
<div class="memitem">
94
84
<div class="memproto">
95
85
<table class="memname">
97
<td class="memname">void(* <a class="el" href="structstp__image.html#a5d2385711b303e055258c28f42ab7f4c">stp_image::conclude</a>)(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td>
87
<td class="memname">void(* stp_image::conclude)(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td>
90
</div><div class="memdoc">
103
92
<p>This callback is called at the end of each page. </p>
107
<a class="anchor" id="a56636ad7c0dbf0a82284241f796d95cd"></a><!-- doxytag: member="stp_image::get_appname" ref="a56636ad7c0dbf0a82284241f796d95cd" args=")(struct stp_image *image)" -->
96
<a class="anchor" id="a56636ad7c0dbf0a82284241f796d95cd"></a>
108
97
<div class="memitem">
109
98
<div class="memproto">
110
99
<table class="memname">
112
<td class="memname">const char*(* <a class="el" href="structstp__image.html#a56636ad7c0dbf0a82284241f796d95cd">stp_image::get_appname</a>)(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td>
101
<td class="memname">const char*(* stp_image::get_appname)(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td>
104
</div><div class="memdoc">
118
106
<p>This callback returns the name of the application. </p>
119
107
<p>This is embedded in the output by some drivers. </p>
123
<a class="anchor" id="a8f7f8fb5826f52b8bd820f422c583350"></a><!-- doxytag: member="stp_image::get_row" ref="a8f7f8fb5826f52b8bd820f422c583350" args=")(struct stp_image *image, unsigned char *data, size_t byte_limit, int row)" -->
111
<a class="anchor" id="a8f7f8fb5826f52b8bd820f422c583350"></a>
124
112
<div class="memitem">
125
113
<div class="memproto">
126
114
<table class="memname">
128
<td class="memname"><a class="el" href="group__image.html#ga58672e1989d582c14328048b207657c8">stp_image_status_t</a>(* <a class="el" href="structstp__image.html#a8f7f8fb5826f52b8bd820f422c583350">stp_image::get_row</a>)(struct <a class="el" href="structstp__image.html">stp_image</a> *image, unsigned char *data, size_t byte_limit, int row)</td>
116
<td class="memname"><a class="el" href="group__image.html#ga58672e1989d582c14328048b207657c8">stp_image_status_t</a>(* stp_image::get_row)(struct <a class="el" href="structstp__image.html">stp_image</a> *image, unsigned char *data, size_t byte_limit, int row)</td>
119
</div><div class="memdoc">
134
121
<p>This callback transfers the data from the image to the gimp-print library. </p>
135
122
<p>It is called from the driver layer. It should copy WIDTH (as returned by the <a class="el" href="structstp__image.html#a890033525988e15f4f4a0b4132e5f19b" title="This callback returns the width of the image in pixels.">width()</a> member) pixels of data into the data buffer. It normally returns STP_IMAGE_STATUS_OK; if something goes wrong, or the application wishes to stop producing any further output (e. g. because the user cancelled the print job), it should return STP_IMAGE_STATUS_ABORT. This will cause the driver to flush any remaining data to the output. It will always request rows in monotonically ascending order, but it may skip rows (if, for example, the resolution of the input is higher than the resolution of the output). </p>
136
<dl class="params"><dt><b>Parameters:</b></dt><dd>
123
<dl class="params"><dt>Parameters:</dt><dd>
137
124
<table class="params">
138
125
<tr><td class="paramname">image</td><td>the image in use. </td></tr>
139
126
<tr><td class="paramname">data</td><td>a pointer to <a class="el" href="structstp__image.html#a890033525988e15f4f4a0b4132e5f19b" title="This callback returns the width of the image in pixels.">width()</a> bytes of pixel data. </td></tr>
191
<a class="anchor" id="ab18e6ee35037589bf485213022e2d871"></a><!-- doxytag: member="stp_image::rep" ref="ab18e6ee35037589bf485213022e2d871" args="" -->
176
<a class="anchor" id="ab18e6ee35037589bf485213022e2d871"></a>
192
177
<div class="memitem">
193
178
<div class="memproto">
194
179
<table class="memname">
196
<td class="memname">void* <a class="el" href="structstp__image.html#ab18e6ee35037589bf485213022e2d871">stp_image::rep</a></td>
181
<td class="memname">void* stp_image::rep</td>
184
</div><div class="memdoc">
202
186
<p>A pointer to an application-specific state information that might need to be associated with the image object. </p>
206
<a class="anchor" id="a7bb2244368c6b1e07d27afb3dd249ffd"></a><!-- doxytag: member="stp_image::reset" ref="a7bb2244368c6b1e07d27afb3dd249ffd" args=")(struct stp_image *image)" -->
190
<a class="anchor" id="a7bb2244368c6b1e07d27afb3dd249ffd"></a>
207
191
<div class="memitem">
208
192
<div class="memproto">
209
193
<table class="memname">
211
<td class="memname">void(* <a class="el" href="structstp__image.html#a7bb2244368c6b1e07d27afb3dd249ffd">stp_image::reset</a>)(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td>
195
<td class="memname">void(* stp_image::reset)(struct <a class="el" href="structstp__image.html">stp_image</a> *image)</td>
198
</div><div class="memdoc">
217
200
<p>This callback is called to reset the image to the beginning. </p>
218
201
<p>It may (in principle) be called multiple times if a page is being printed more than once. </p>
219
<dl class="warning"><dt><b>Warning:</b></dt><dd>The <a class="el" href="structstp__image.html#a7bb2244368c6b1e07d27afb3dd249ffd" title="This callback is called to reset the image to the beginning.">reset()</a> call may be removed in the future. </dd></dl>
220
<dl class="params"><dt><b>Parameters:</b></dt><dd>
202
<dl class="section warning"><dt>Warning:</dt><dd>The <a class="el" href="structstp__image.html#a7bb2244368c6b1e07d27afb3dd249ffd" title="This callback is called to reset the image to the beginning.">reset()</a> call may be removed in the future. </dd></dl>
203
<dl class="params"><dt>Parameters:</dt><dd>
221
204
<table class="params">
222
205
<tr><td class="paramname">image</td><td>the image in use. </td></tr>